Class: Engineer::Locale::Initializers

Inherits:
Object
  • Object
show all
Defined in:
lib/engineer/locale/initializers.rb

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(klass) ⇒ Initializers

Returns a new instance of Initializers.



9
10
11
# File 'lib/engineer/locale/initializers.rb', line 9

def initialize(klass)
  @klass = klass
end

Class Method Details

.add_engine_locale_files(app, engine_config) ⇒ Object



22
23
24
25
26
27
28
# File 'lib/engineer/locale/initializers.rb', line 22

def self.add_engine_locale_files(app, engine_config)
  engine_locale_files = Dir[engine_config.root.join("config", "locales", "**", "*.{rb,yml}")]
  i18n = app.config.i18n
  i18n.load_path += engine_locale_files
  i18n.default_locale = "en-GB"
  i18n.fallbacks = [:en]
end

Instance Method Details

#addObject



13
14
15
16
17
18
19
20
# File 'lib/engineer/locale/initializers.rb', line 13

def add
  klass.initializer :"add_locals_in_#{klass.name.underscore.tr("/", "_")}" do |app|
    # Because we have a different binding here we can't call private Initializers
    # members so instead explicitly call a class method on ourselves passing in the
    # variables we need.
    Engineer::Locale::Initializers.add_engine_locale_files(app, config)
  end
end