class I18nVariable include Mongoid::Document include Mongoid::Timestamps field :key field :document_class, type: String field :parent_id, type: BSON::ObjectId 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.find_by(key: locale)[I18n.locale] end end