Class: Quiver::Adapter::MemoryAdapterStore

Inherits:
Object
  • Object
show all
Defined in:
lib/quiver/adapter/memory_adapter_store.rb

Instance Method Summary collapse

Constructor Details

#initializeMemoryAdapterStore

Returns a new instance of MemoryAdapterStore.



4
5
6
# File 'lib/quiver/adapter/memory_adapter_store.rb', line 4

def initialize
  clean!
end

Instance Method Details

#clean!Object



8
9
10
# File 'lib/quiver/adapter/memory_adapter_store.rb', line 8

def clean!
  self.store = {}
end

#get(key) ⇒ Object



12
13
14
# File 'lib/quiver/adapter/memory_adapter_store.rb', line 12

def get(key)
  store[key] ||= {}
end

#transaction(&block) ⇒ Object



16
17
18
19
20
21
22
23
24
25
26
27
# File 'lib/quiver/adapter/memory_adapter_store.rb', line 16

def transaction(&block)
  pristine_store = store.deep_dup

  begin
    yield block
  rescue Quiver::Mappers::RollbackTransaction
    self.store = pristine_store
  rescue => ex
    self.store = pristine_store
    raise ex
  end
end