Sha256: 06e549be93cc5c2f4d590140b1255ac44930799dce1387d7230203da557bad34

Contents?: true

Size: 672 Bytes

Versions: 7

Compression:

Stored size: 672 Bytes

Contents

class GlobalizeTranslation < ActiveRecord::Base

  # based on https://github.com/svenfuchs/i18n-active_record/blob/master/lib/i18n/backend/active_record/translation.rb

  def self.locale(locale)
    scoped(:conditions => { :locale => locale.to_s })
  end

  def self.lookup(keys)
    column_name = connection.quote_column_name('key')
    keys = Array(keys).map! { |key| key.to_s }
    namespace = "#{keys.last}#{I18n::Backend::Flatten::FLATTEN_SEPARATOR}%"
    scoped(:conditions => ["#{column_name} IN (?) OR #{column_name} LIKE ?", keys, namespace])
  end

  def self.available_locales
    find(:all, :select => 'DISTINCT locale').map { |t| t.locale.to_sym }
  end

end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
exvo_globalize-0.3.1 app/models/globalize_translation.rb
exvo_globalize-0.3.0 app/models/globalize_translation.rb
exvo_globalize-0.2.1 app/models/globalize_translation.rb
exvo_globalize-0.2.0 app/models/globalize_translation.rb
exvo_globalize-0.1.0 app/models/globalize_translation.rb
exvo_globalize-0.0.2 app/models/globalize_translation.rb
exvo_globalize-0.0.1 app/models/globalize_translation.rb