Class: Mistri::Stores::Memory

Inherits:
Object
  • Object
show all
Defined in:
lib/mistri/stores/memory.rb

Overview

Entries in a plain Hash: for tests and runs that need no persistence.

Instance Method Summary collapse

Constructor Details

#initializeMemory

Returns a new instance of Memory.



7
8
9
10
# File 'lib/mistri/stores/memory.rb', line 7

def initialize
  @entries = Hash.new { |hash, key| hash[key] = [] }
  @mutex = Mutex.new
end

Instance Method Details

#append(id, entry) ⇒ Object



12
13
14
15
# File 'lib/mistri/stores/memory.rb', line 12

def append(id, entry)
  @mutex.synchronize { @entries[id] << json_copy(entry, freeze: true) }
  nil
end

#load(id) ⇒ Object



17
18
19
20
21
# File 'lib/mistri/stores/memory.rb', line 17

def load(id)
  @mutex.synchronize do
    @entries[id].map { |entry| json_copy(entry, freeze: false) }
  end
end