Module: IseshimaStore::Base

Defined in:
lib/iseshima_store/base.rb

Defined Under Namespace

Modules: ClassMethods

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.included(klass) ⇒ Object



5
6
7
# File 'lib/iseshima_store/base.rb', line 5

def self.included(klass)
  klass.extend ClassMethods
end

Instance Method Details

#save!Object



42
43
44
45
46
47
# File 'lib/iseshima_store/base.rb', line 42

def save!
  entity = to_entity
  IseshimaStore::Connection.current.save(entity)
  self.id = entity.key.id
  self
end

#to_entityObject



49
50
51
52
53
54
55
56
# File 'lib/iseshima_store/base.rb', line 49

def to_entity
  entity = Gcloud::Datastore::Entity.new
  entity.key = Gcloud::Datastore::Key.new(self.class.to_s, id)
  self.class.properties.each do |property|
    entity[property] = send(property)
  end
  entity
end