Module: GdatastoreMapper::Persistence
- Defined in:
- lib/gdatastore_mapper/persistence.rb
Instance Method Summary collapse
- #delete ⇒ Object
- #destroy ⇒ Object
- #persisted? ⇒ Boolean
- #save ⇒ Object
- #update(attributes) ⇒ Object
Instance Method Details
#delete ⇒ Object
32 33 34 |
# File 'lib/gdatastore_mapper/persistence.rb', line 32 def delete destroy end |
#destroy ⇒ Object
24 25 26 27 28 29 30 |
# File 'lib/gdatastore_mapper/persistence.rb', line 24 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
36 37 38 |
# File 'lib/gdatastore_mapper/persistence.rb', line 36 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 |
# File 'lib/gdatastore_mapper/persistence.rb', line 15 def update attributes run_callbacks :update do attributes.each do |name, value| send "#{name}=", value if respond_to? "#{name}=" end save end end |