Sha256: 547e12db3c4a51bb7cf5668a113d94d2ad12df8b6e34750d084566af38cc5fde

Contents?: true

Size: 806 Bytes

Versions: 45

Compression:

Stored size: 806 Bytes

Contents

# == Schema Information
#
# Table name: languages
#
#  id           :integer         not null, primary key
#  name         :string(255)
#  english_name :string(255)
#  locale       :string(255)
#  supported    :boolean         default(TRUE)
#  is_default   :integer         default(0)
#

class Language < ActiveRecord::Base

  @@locale_ids = nil

  def self.locale_id
    cache_locale_ids
    @@locale_ids[I18n.locale]
  end

  def self.supported_locale? locale
    cache_locale_ids
    @@locale_ids[locale.to_sym] != nil
  end

  private

  def self.cache_locale_ids
    if !@@locale_ids
      languages = Language.find(:all, :select => 'id, locale', :conditions => ['languages.supported = ?', true])
      @@locale_ids = Hash[*languages.collect {|v|[v.locale.to_sym, v.id]}.flatten]
    end
  end
  
end

Version data entries

45 entries across 45 versions & 1 rubygems

Version Path
muck-engine-0.4.12 app/models/language.rb
muck-engine-0.4.11 app/models/language.rb
muck-engine-0.4.10 app/models/language.rb
muck-engine-0.4.9 app/models/language.rb
muck-engine-0.4.8 app/models/language.rb
muck-engine-0.4.7 app/models/language.rb
muck-engine-0.4.6 app/models/language.rb
muck-engine-0.4.5 app/models/language.rb
muck-engine-0.4.4 app/models/language.rb
muck-engine-0.4.3 app/models/language.rb
muck-engine-0.4.2 app/models/language.rb
muck-engine-0.4.1 app/models/language.rb
muck-engine-0.4.0 app/models/language.rb
muck-engine-0.3.3 app/models/language.rb
muck-engine-0.3.2 app/models/language.rb
muck-engine-0.3.1 app/models/language.rb
muck-engine-0.3.0 app/models/language.rb
muck-engine-0.2.27 app/models/language.rb
muck-engine-0.2.26 app/models/language.rb
muck-engine-0.2.25 app/models/language.rb