Module: GdatastoreMapper::Persistence
- Defined in:
- lib/gdatastore_mapper/persistence.rb,
lib/gdatastore_mapper/persistence/class_methods.rb
Defined Under Namespace
Modules: ClassMethods
Instance Method Summary collapse
- #delete ⇒ Object
- #destroy ⇒ Object
- #persisted? ⇒ Boolean
- #save ⇒ Object
- #update(attributes) ⇒ Object
Instance Method Details
#delete ⇒ Object
33 34 35 |
# File 'lib/gdatastore_mapper/persistence.rb', line 33 def delete destroy end |
#destroy ⇒ Object
25 26 27 28 29 30 31 |
# File 'lib/gdatastore_mapper/persistence.rb', line 25 def destroy run_callbacks :destroy do update_owner(self, :delete) GdatastoreMapper::Session.dataset.delete \ Google::Cloud::Datastore::Key.new self.class.to_s, id end end |
#persisted? ⇒ Boolean
37 38 39 |
# File 'lib/gdatastore_mapper/persistence.rb', line 37 def persisted? id.present? end |
#save ⇒ Object
4 5 6 7 8 9 10 11 12 13 |
# File 'lib/gdatastore_mapper/persistence.rb', line 4 def save return false if !valid? run_callbacks :save do entity = to_entity GdatastoreMapper::Session.dataset.save(entity) self.id = entity.key.id update_owner(self, :add) true end end |
#update(attributes) ⇒ Object
15 16 17 18 19 20 21 22 23 |
# File 'lib/gdatastore_mapper/persistence.rb', line 15 def update attributes return false if !valid? run_callbacks :update do attributes.each do |name, value| send "#{name}=", value if respond_to? "#{name}=" end save end end |