Sha256: d9449aa0307a874c9303ffe58bdf58fe2d49475b7bcf82c5f743aa37253bdb82
Contents?: true
Size: 1.56 KB
Versions: 1
Compression:
Stored size: 1.56 KB
Contents
require 'active_record' module FastGettext module TranslationRepository # Responsibility: # - provide access to translations in database through a database abstraction # # Options: # :model => Model that represents your keys # you can either use the models supplied under db/, extend them or build your own # only constraints: # key: find_by_key, translations # translation: text, locale class DB def initialize(name,options={}) @model = options[:model] end @@seperator = '||||' # string that seperates multiple plurals def self.seperator=(sep);@@seperator = sep;end def self.seperator;@@seperator;end def available_locales if @model.respond_to? :available_locales @model.available_locales || [] else [] end end def pluralisation_rule if @model.respond_to? :pluralsation_rule @model.pluralsation_rule else nil end end def [](key) @model.translation(key, FastGettext.locale) end def plural(*args) if translation = @model.translation(args*self.class.seperator, FastGettext.locale) translation.to_s.split(self.class.seperator) else [] end end def self.require_models require 'fast_gettext/translation_repository/db_models/translation_key' require 'fast_gettext/translation_repository/db_models/translation_text' FastGettext::TranslationRepository::DBModels end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
grosser-fast_gettext-0.4.4 | lib/fast_gettext/translation_repository/db.rb |