Sha256: 21c28f0f03a609d5fec7936b02efc6a224cca33c041792232ff70ff8340f95c1

Contents?: true

Size: 481 Bytes

Versions: 9

Compression:

Stored size: 481 Bytes

Contents

# encoding: utf-8

module LocalizableModel
  # = LocalizableModel::ScopeExtension
  #
  # Injected into the Relation when Model.localized is called.
  #
  module ScopeExtension
    attr_accessor :locale

    def localize(locale)
      @locale = locale
      localize_records if loaded?
      self
    end

    def load
      super
      localize_records
      self
    end

    protected

    def localize_records
      @records.each { |r| r.localize!(@locale) }
    end
  end
end

Version data entries

9 entries across 9 versions & 1 rubygems

Version Path
localizable_model-0.6.4 lib/localizable_model/scope_extension.rb
localizable_model-0.6.3 lib/localizable_model/scope_extension.rb
localizable_model-0.6.2 lib/localizable_model/scope_extension.rb
localizable_model-0.6.1 lib/localizable_model/scope_extension.rb
localizable_model-0.6.0 lib/localizable_model/scope_extension.rb
localizable_model-0.5.5 lib/localizable_model/scope_extension.rb
localizable_model-0.5.4 lib/localizable_model/scope_extension.rb
localizable_model-0.5.3 lib/localizable_model/scope_extension.rb
localizable_model-0.5.2 lib/localizable_model/scope_extension.rb