Class: Locraft::InfoPlistGenerator
- Inherits:
-
Object
- Object
- Locraft::InfoPlistGenerator
- Includes:
- FileUtils
- Defined in:
- lib/locraft/generators/info_plist_generator.rb
Instance Method Summary collapse
- #generate ⇒ Object
- #info_plist_with(localizations) ⇒ Object
-
#initialize(config, localizations_hash) ⇒ InfoPlistGenerator
constructor
A new instance of InfoPlistGenerator.
Constructor Details
#initialize(config, localizations_hash) ⇒ InfoPlistGenerator
Returns a new instance of InfoPlistGenerator.
9 10 11 12 |
# File 'lib/locraft/generators/info_plist_generator.rb', line 9 def initialize(config, localizations_hash) @config = config @localizations_hash = localizations_hash end |
Instance Method Details
#generate ⇒ Object
14 15 16 17 18 19 20 21 22 23 24 25 |
# File 'lib/locraft/generators/info_plist_generator.rb', line 14 def generate @config.langs.each do |lang, val| localizations = @localizations_hash[lang] destination_dir = "#{@config.relative_plist_destination}/#{val}.lproj" file = "#{destination_dir}/#{@config.info_plist_file}" mkdir_p destination_dir unless Dir.exist?(destination_dir) File.open(file, 'w+') do |f| f.puts info_plist_with(localizations) end puts "info plist generated: [#{file}]" end end |
#info_plist_with(localizations) ⇒ Object
27 28 29 30 |
# File 'lib/locraft/generators/info_plist_generator.rb', line 27 def info_plist_with(localizations) filter = /(NS|CF).*/ localizations.select { |l| l.key =~ filter }.map(&:to_line).join("\n") end |