28 lines
569 B
Ruby
28 lines
569 B
Ruby
|
class I18nVariable
|
||
|
|
||
|
include Mongoid::Document
|
||
|
include Mongoid::Timestamps
|
||
|
|
||
|
field :key, :index => true
|
||
|
field :document_class, :type => String, :index => true
|
||
|
field :parent_id, :type => BSON::ObjectId, :index => true
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
belongs_to :language_value, polymorphic: true
|
||
|
|
||
|
def method_missing(*field)
|
||
|
if field.size > 1
|
||
|
self.write_attribute(field[0].to_s.delete('=').to_sym, field[1])
|
||
|
else
|
||
|
self[field[0]]
|
||
|
end
|
||
|
end
|
||
|
|
||
|
def self.from_locale(locale)
|
||
|
I18nVariable.first(:conditions => {:key => locale})[I18n.locale]
|
||
|
end
|
||
|
|
||
|
end
|