module MongoModel::Attributes::Mongo
Public Instance Methods
from_mongo!(hash)
click to toggle source
# 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)
click to toggle source
# File lib/mongomodel/attributes/mongo.rb, line 19 def load!(hash) from_mongo!(hash) end
to_mongo()
click to toggle source
# 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
Private Instance Methods
properties_as()
click to toggle source
# File lib/mongomodel/attributes/mongo.rb, line 38 def properties_as @properties_as ||= properties.inject({}) do |result, (name, property)| result[property.as] = property result end end