Method: ActiveModel::Datastore::ClassMethods#from_entity

Defined in:
lib/active_model/datastore.rb

#from_entity(entity) ⇒ Model

Translates between Datastore::Entity objects and ActiveModel::Model objects.

Parameters:

  • entity (Entity)

    Entity from Cloud Datastore.

Returns:

  • (Model)

    The translated ActiveModel object.



369
370
371
372
373
374
375
376
377
378
379
# File 'lib/active_model/datastore.rb', line 369

def from_entity(entity)
  return if entity.nil?

  model_entity = build_model(entity)
  model_entity.entity_property_values = entity.properties.to_h
  entity.properties.to_h.each do |name, value|
    model_entity.send "#{name}=", value if model_entity.respond_to? "#{name}="
  end
  model_entity.reload!
  model_entity
end