class Locraft::StringsGenerator
Public Instance Methods
broadcast_file_generation(f)
click to toggle source
# File lib/locraft/generators/strings_generator.rb, line 28 def broadcast_file_generation(f) puts "strings file generated: [#{f}]" end
destination_dir_for(_, lang_code)
click to toggle source
# File lib/locraft/generators/strings_generator.rb, line 40 def destination_dir_for(_, lang_code) "#{@config.relative_strings_destination}/#{lang_code}.lproj" end
file_template()
click to toggle source
# File lib/locraft/generators/strings_generator.rb, line 36 def file_template Utils.resource_file('strings_template.txt') end
generate(localizations_hash)
click to toggle source
# File lib/locraft/generators/strings_generator.rb, line 15 def generate(localizations_hash) @config.langs.each do |lang, lang_code| localizations = localizations_hash[lang].select { |l| valid_localization?(l) } destination_dir = destination_dir_for(lang, lang_code) file = "#{destination_dir}/#{strings_file}" mkdir_p destination_dir unless Dir.exist?(destination_dir) File.open(file, 'w+') do |f| f.puts file_template % strings_file_content(localizations) end broadcast_file_generation(file) end end
strings_file()
click to toggle source
# File lib/locraft/generators/strings_generator.rb, line 44 def strings_file @config.strings_file end
strings_file_content(localizations)
click to toggle source
# File lib/locraft/generators/strings_generator.rb, line 48 def strings_file_content(localizations) localizations.select(&:valid?).map { |l| strings_line_with(l) }.join("\n") end
strings_line_with(localization)
click to toggle source
# File lib/locraft/generators/strings_generator.rb, line 52 def strings_line_with(localization) content = '' content += "/* #{localization.comment} */" unless localization.comment.nil? content + %(\n"#{localization.key}" = "#{localization.strict_value}";\n) end
valid?()
click to toggle source
# File lib/locraft/generators/strings_generator.rb, line 11 def valid? !@config.relative_strings_destination.nil? end
valid_localization?(l)
click to toggle source
# File lib/locraft/generators/strings_generator.rb, line 32 def valid_localization?(l) l.valid? end