Sha256: 47f9a3e757689fb19a1ae646beb2d4e942f0a009c16a2828e1bbf63d7a823221
Contents?: true
Size: 860 Bytes
Versions: 1
Compression:
Stored size: 860 Bytes
Contents
class Translation < String include Mongoid::Fields::Serializable attr_accessor :keys def initialize(*args) super @keys = {} @keys["default"] = "en" end def []=(lang, text) @keys[lang.to_s] = text end def [](lang) @keys[lang.to_s] end def languages langs = @keys.keys langs.delete("default") langs end def default_language=(lang) @keys["default"] = lang self.replace(@keys[lang.to_s]) end def self.build(keys, default = "en") tr = self.new tr.keys = keys tr.default_language = default tr end def serialize(value) return value.keys if value.kind_of?(self) @keys end def deserialize(value) return value if value.kind_of?(self) result = self.new result.keys = value result.default_language = value["default"] || "en" result end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
mongoid_ext-0.7.1 | lib/mongoid_ext/types/translation.rb |