Module: SyncUtil

Defined in:
lib/transync/sync/sync_util.rb

Class Method Summary collapse

Class Method Details

.build_diff_print(diff, msg) ⇒ Object



21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
# File 'lib/transync/sync/sync_util.rb', line 21

def self.build_diff_print(diff, msg)
  begin
    # get longest key and value
    max_key_length = diff.keys.max { |a, b| a.length <=> b.length }.length
    max_val_length = diff.values.max { |a, b| a[1].to_s.length <=> b[1].to_s.length }[1].length
  rescue
    max_key_length = 0
    max_val_length = 0
  end

  diff.keys.each do |key|
    operation = diff[key][1].nil? ? 'Adding' : 'Changing'
    msg += "\n  #{operation.ljust(8)} - #{key.ljust(max_key_length)}: '#{diff[key][1].to_s.ljust(max_val_length)}' => '#{diff[key][0]}' "
  end
  msg
end

.create_logger(direction) ⇒ Object



43
44
45
# File 'lib/transync/sync/sync_util.rb', line 43

def self.create_logger(direction)
  @logger = Logger.new(".transync_log/#{direction}.log", 'monthly')
end

.info_clean(file, language, message) ⇒ Object



6
7
8
9
# File 'lib/transync/sync/sync_util.rb', line 6

def self.info_clean(file, language, message)
  msg = "#{file} (#{language}) - #{message}"
  SyncUtil.log_and_puts(msg)
end

.info_diff(file, language, diff) ⇒ Object



11
12
13
14
15
16
17
18
19
# File 'lib/transync/sync/sync_util.rb', line 11

def self.info_diff(file, language, diff)
  msg = "#{file} (#{language})"
  if diff.empty?
    msg += ' already has same keys and values'
  else
    msg = build_diff_print(diff, msg)
  end
  SyncUtil.log_and_puts(msg)
end

.log_and_puts(msg) ⇒ Object



38
39
40
41
# File 'lib/transync/sync/sync_util.rb', line 38

def self.log_and_puts(msg)
  puts msg
  @logger.info msg
end