class Lokale::Exporter::Diff
Attributes
lang[R]
missing_strings[R]
Public Class Methods
find(files, main_lang)
click to toggle source
# File lib/lokale/agent.rb, line 274 def self.find(files, main_lang) groups = files.group_by { |lf| lf.lang } main_files = groups[main_lang] diffs = [] groups.each do |lang, files| next if lang == main_lang diffs << Diff.new(main_files, files, lang) end diffs.delete_if { |d| d.empty? } end
new(main_files, lfiles, lang)
click to toggle source
# File lib/lokale/agent.rb, line 285 def initialize(main_files, lfiles, lang) @lang = lang @missing_strings = Hash.new { |h, k| h[k] = [] } lfiles.each do |lf| next unless lf.strings_file? counterpart = main_files.select { |m| m.full_name == lf.full_name }.sample next if counterpart.nil? missing_keys = counterpart.keys - lf.keys next if missing_keys.empty? counterpart.parsed.each do |lstr| next unless missing_keys.include? lstr.key @missing_strings[lf.full_name] << lstr.for_export(lang) end end end
Public Instance Methods
empty?()
click to toggle source
# File lib/lokale/agent.rb, line 303 def empty? @missing_strings.empty? || @missing_strings.all? { |file_name, strings| strings.empty? } end