Module: MaglevRecord::RootedPersistence::ClassMethods

Defined in:
lib/maglev_record/rooted_persistence.rb

Instance Method Summary collapse

Instance Method Details

#clearObject



29
30
31
# File 'lib/maglev_record/rooted_persistence.rb', line 29

def clear
  self.object_pool.clear
end

#create(*args) ⇒ Object



33
34
35
36
37
# File 'lib/maglev_record/rooted_persistence.rb', line 33

def create(*args)
  instance = new(*args)
  MaglevRecord.save
  instance
end

#delete_object_poolObject



18
19
20
# File 'lib/maglev_record/rooted_persistence.rb', line 18

def delete_object_pool
  Maglev::PERSISTENT_ROOT[MaglevRecord::PERSISTENT_ROOT_KEY].delete(object_pool_key)
end

#new(*args) ⇒ Object



22
23
24
25
26
27
# File 'lib/maglev_record/rooted_persistence.rb', line 22

def new(*args)
  create_validations
  instance = super(*args)
  self.object_pool[instance.id] = instance
  instance
end

#object_poolObject



13
14
15
16
# File 'lib/maglev_record/rooted_persistence.rb', line 13

def object_pool
  Maglev::PERSISTENT_ROOT[MaglevRecord::PERSISTENT_ROOT_KEY] ||= {}
  Maglev::PERSISTENT_ROOT[MaglevRecord::PERSISTENT_ROOT_KEY][object_pool_key] ||= {}
end

#object_pool_keyObject



9
10
11
# File 'lib/maglev_record/rooted_persistence.rb', line 9

def object_pool_key
  self
end