Module: SyncUtil

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

Class Method Summary collapse

Class Method Details

.build_diff_print(diff, msg) ⇒ Object



39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
# File 'lib/transync/sync/sync_util.rb', line 39

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

.check_and_get_xliff_files(languages, path, file) ⇒ Object



6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# File 'lib/transync/sync/sync_util.rb', line 6

def self.check_and_get_xliff_files(languages, path, file)
  valid = true
  xliff_translations = []
  all_translations_for_language = {}

  languages.each do |language|
    xliff_reader = XliffTransReader.new(path, file, languages)
    if xliff_reader.valid?
      xliff_translations << xliff_reader.translations(language)
    else
      valid = false
      all_translations_for_language = xliff_reader.all_translations_for_language
    end
  end

  return valid, xliff_translations, all_translations_for_language
end

.create_logger(direction) ⇒ Object



61
62
63
# File 'lib/transync/sync/sync_util.rb', line 61

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

.info_clean(file, language, message) ⇒ Object



24
25
26
27
# File 'lib/transync/sync/sync_util.rb', line 24

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

.info_diff(file, language, diff) ⇒ Object



29
30
31
32
33
34
35
36
37
# File 'lib/transync/sync/sync_util.rb', line 29

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



56
57
58
59
# File 'lib/transync/sync/sync_util.rb', line 56

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