Class: C11n::Synchronizer::Rails

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

Instance Method Summary collapse

Constructor Details

#initialize(options = {}) ⇒ Rails

Returns a new instance of Rails.



8
9
10
# File 'lib/c11n/synchronizer/rails.rb', line 8

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

Instance Method Details

#exportersObject



18
19
20
21
22
# File 'lib/c11n/synchronizer/rails.rb', line 18

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

#importersObject



12
13
14
15
16
# File 'lib/c11n/synchronizer/rails.rb', line 12

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

#locales_parent_directory_pathObject



30
31
32
# File 'lib/c11n/synchronizer/rails.rb', line 30

def locales_parent_directory_path
  File.join(@project_root, 'config/locales')
end

#localization_filesObject



24
25
26
27
28
# File 'lib/c11n/synchronizer/rails.rb', line 24

def localization_files
  Dir.new(locales_parent_directory_path).entries.select { |entry| entry =~ /\.yml$/ }.inject({}) do |files, entry|
    files.merge locale_for(entry) => File.join(locales_parent_directory_path, entry)
  end
end