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

Instance Method Details

#deleteObject



33
34
35
# File 'lib/gdatastore_mapper/persistence.rb', line 33

def delete
  destroy
end

#destroyObject



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

Returns:

  • (Boolean)


37
38
39
# File 'lib/gdatastore_mapper/persistence.rb', line 37

def persisted?
  id.present?
end

#saveObject



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