Sha256: 7db951689f7732a2669f021d7e845437c88f2dd9778823dc9c8aeaa850fe8069

Contents?: true

Size: 812 Bytes

Versions: 10

Compression:

Stored size: 812 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[0..1].to_sym, v.id]}.flatten]
    end
  end
  
end

Version data entries

10 entries across 10 versions & 1 rubygems

Version Path
muck-engine-0.4.26 app/models/language.rb
muck-engine-0.4.25 app/models/language.rb
muck-engine-0.4.24 app/models/language.rb
muck-engine-0.4.23 app/models/language.rb
muck-engine-0.4.21 app/models/language.rb
muck-engine-0.4.17 app/models/language.rb
muck-engine-0.4.16 app/models/language.rb
muck-engine-0.4.15 app/models/language.rb
muck-engine-0.4.14 app/models/language.rb
muck-engine-0.4.13 app/models/language.rb