Class: C11n::Synchronizer::Ios

Inherits:
Object
  • Object
show all
Defined in:
lib/c11n/synchronizer/ios.rb

Constant Summary collapse

SUPPORT_FILES =
'support files'
LOCALIZABLE =
'Localizable.strings'

Instance Method Summary collapse

Instance Method Details

#exportersObject



20
21
22
23
24
# File 'lib/c11n/synchronizer/ios.rb', line 20

def exporters
  @exporters ||= Hash[localization_files.map do |locale|
    [locale, C11n::Exporter::Ios.new(path: file_path)]
  end]
end

#importersObject



14
15
16
17
18
# File 'lib/c11n/synchronizer/ios.rb', line 14

def importers
  @importers ||= Hash[localization_files.map do |locale, file_path|
    [locale, C11n::Importer::Ios.new(path: file_path, locale: locale)]
  end]
end

#initiailze(options = {}) ⇒ Object



10
11
12
# File 'lib/c11n/synchronizer/ios.rb', line 10

def initiailze(options = {})
  @project_root = options[:root]
end

#localesObject



35
36
37
# File 'lib/c11n/synchronizer/ios.rb', line 35

def locales
  localization_directories.map { |directory| directory.gsub(/\.lproj$/, '') }.map(&:to_sym)
end

#localization_directoriesObject



39
40
41
# File 'lib/c11n/synchronizer/ios.rb', line 39

def localization_directories
  @localization_directories ||= Dir.new(File.join(@project_root, SUPPORT_FILES)).entries.select { |entry| entry =~ /lproj$/ }
end

#localization_filesObject



26
27
28
29
30
31
32
33
# File 'lib/c11n/synchronizer/ios.rb', line 26

def localization_files
  @localization_files ||= localization_directories.inject({}) do |files, localization_directory|
    locale = localization_directory.gsub(/\.lproj$/, '').to_sym
    path = File.join(@project_root, SUPPORT_FILES, localization_directory, LOCALIZABLE)

    files.merge locale => path
  end
end