Sha256: 008aac685da1759132736909ced629db1483624fb3c101a8da9c7462c2e0cc62

Contents?: true

Size: 1.15 KB

Versions: 5

Compression:

Stored size: 1.15 KB

Contents

require 'kaminari-i18n/engine'

module SpreeI18n
  class Engine < Rails::Engine
    engine_name 'spree_i18n'

    config.autoload_paths += %W(#{config.root}/lib)

    initializer 'spree-i18n' do |app|
      SpreeI18n::Engine.instance_eval do
        pattern = pattern_from app.config.i18n.available_locales

        add("config/locales/#{pattern}/*.{rb,yml}")
        add("config/locales/#{pattern}.{rb,yml}")
      end
    end

    initializer 'spree_i18n.environment', before: :load_config_initializers do |app|
      app.config.i18n.fallbacks = true
      I18n.locale = app.config.i18n.default_locale if app.config.i18n.default_locale
    end

    def self.activate
      Dir.glob(File.join(File.dirname(__FILE__), '../../app/**/*_decorator*.rb')) do |c|
        Rails.configuration.cache_classes ? require(c) : load(c)
      end
    end

    config.to_prepare(&method(:activate).to_proc)

    protected

    def self.add(pattern)
      files = Dir[File.join(File.dirname(__FILE__), '../..', pattern)]
      I18n.load_path.concat(files)
    end

    def self.pattern_from(args)
      array = Array(args || [])
      array.blank? ? '*' : "{#{array.join ','}}"
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
spree_i18n-5.3.0 lib/spree_i18n/engine.rb
spree_i18n-5.2.0 lib/spree_i18n/engine.rb
spree_i18n-5.1.0 lib/spree_i18n/engine.rb
spree_i18n-5.0.1 lib/spree_i18n/engine.rb
spree_i18n-5.0.0 lib/spree_i18n/engine.rb