Class: C11n::Synchronizer::Android
- Inherits:
-
Object
- Object
- C11n::Synchronizer::Android
- Defined in:
- lib/c11n/synchronizer/android.rb
Constant Summary collapse
- RESOURCES =
'res'
- BASE_PATTERN =
/^values-?/
- FILE_NAME =
'strings.xml'
Instance Method Summary collapse
- #exporters ⇒ Object
- #importers ⇒ Object
-
#initialize(options = {}) ⇒ Android
constructor
A new instance of Android.
- #localization_directories ⇒ Object
- #localization_files ⇒ Object
Constructor Details
#initialize(options = {}) ⇒ Android
Returns a new instance of Android.
11 12 13 14 |
# File 'lib/c11n/synchronizer/android.rb', line 11 def initialize( = {}) @project_root = [:root] @default_locale = [:default_locale] end |
Instance Method Details
#exporters ⇒ Object
22 23 24 25 26 |
# File 'lib/c11n/synchronizer/android.rb', line 22 def exporters @exporters ||= Hash[localization_files.map do |locale, file_path| [locale, C11n::Exporter::Android.new(path: file_path)] end] end |
#importers ⇒ Object
16 17 18 19 20 |
# File 'lib/c11n/synchronizer/android.rb', line 16 def importers @importers ||= Hash[localization_files.map do |locale, file_path| [locale, C11n::Importer::Android.new(path: file_path, locale: locale)] end] end |
#localization_directories ⇒ Object
37 38 39 40 41 |
# File 'lib/c11n/synchronizer/android.rb', line 37 def localization_directories @localization_directories ||= Dir.new(File.join(@project_root, RESOURCES)).entries.select { |entry| entry =~ BASE_PATTERN }.select do |entry| Dir.new(File.join(@project_root, RESOURCES, entry)).entries.include?(FILE_NAME) end end |
#localization_files ⇒ Object
28 29 30 31 32 33 34 35 |
# File 'lib/c11n/synchronizer/android.rb', line 28 def localization_files @localization_files ||= localization_directories.inject({}) do |files, localization_directory| locale = localization_directory.gsub(BASE_PATTERN, '') path = File.join(@project_root, RESOURCES, localization_directory, FILE_NAME) files.merge (locale.empty? ? @default_locale : locale.to_sym) => path end end |