Module: MongoModel::Attributes::Mongo
- Included in:
- Store
- Defined in:
- lib/mongomodel/attributes/mongo.rb
Instance Method Summary collapse
Instance Method Details
#from_mongo!(hash) ⇒ Object
23 24 25 26 27 28 29 30 31 32 33 34 35 |
# File 'lib/mongomodel/attributes/mongo.rb', line 23 def from_mongo!(hash) hash.each do |k, v| property = properties_as[k.to_s] if property child = store(property.name, property.from_mongo(v)) else child = store(k.to_sym, v) end child.parent_document = instance if child.respond_to?(:parent_document=) end end |
#load!(hash) ⇒ Object
19 20 21 |
# File 'lib/mongomodel/attributes/mongo.rb', line 19 def load!(hash) from_mongo!(hash) end |
#to_mongo ⇒ Object
4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
# File 'lib/mongomodel/attributes/mongo.rb', line 4 def to_mongo inject({}) do |result, (k, v)| property = properties[k] if property result[property.as] = property.to_mongo(v) else converter = Types.converter_for(v.class) result[k.to_s] = converter.to_mongo(v) end result end end |