class TT::I18nSync

Attributes

checker[R]
groups[R]

Public Class Methods

new(st_locale, files, mark) click to toggle source
# File lib/t_t/i18n_sync.rb, line 107
def initialize(st_locale, files, mark)
  @groups = []

  files.inject({}) do |r, file|
    parts = file.split('.')
    k = parts[0...-2].join('.')
    l = File.basename(parts[-2])
    r[k] ||= {}
    r[k][l] = file
    r
  end.each_value do |group|
    locales = group.keys
    next unless locales.include?(st_locale) && locales.size > 1
    list = group.reject { |l, v| l == st_locale }
    groups << FileGroup.new(st_locale, group[st_locale], list, mark)
  end

  @checker = ActiveSupport::FileUpdateChecker.new(groups.map(&:standard)) { execute }
end

Public Instance Methods

execute() click to toggle source
# File lib/t_t/i18n_sync.rb, line 127
def execute
  groups.each(&:execute)
end
missed() click to toggle source
# File lib/t_t/i18n_sync.rb, line 131
def missed
  groups.inject({}) do |r, group|
    unless (list = group.missed).empty?
      base_path = group.standard.split(group.st_locale)[0]
      key = "#{ base_path }(*).yml"
      r[key] = list
    end
    r
  end
end