Class: ZZQ::Persistence::Memory

Inherits:
Interface show all
Defined in:
lib/zzq/persistence/memory.rb

Overview

In-process persistence backend. Default for ephemeral brokers and tests. State is lost on process exit.

Instance Method Summary collapse

Constructor Details

#initializeMemory

Returns a new instance of Memory.



10
11
12
13
# File 'lib/zzq/persistence/memory.rb', line 10

def initialize
  super()
  @retained = {}  # topic => ZZQ::Message
end

Instance Method Details

#clear_retainedObject



32
33
34
# File 'lib/zzq/persistence/memory.rb', line 32

def clear_retained
  @retained.clear
end

#delete_retained(topic) ⇒ Object



27
28
29
# File 'lib/zzq/persistence/memory.rb', line 27

def delete_retained(topic)
  @retained.delete(topic)
end

#load_retainedObject



16
17
18
19
# File 'lib/zzq/persistence/memory.rb', line 16

def load_retained
  return enum_for(:load_retained) unless block_given?
  @retained.each_value { |msg| yield msg }
end

#save_retained(message) ⇒ Object



22
23
24
# File 'lib/zzq/persistence/memory.rb', line 22

def save_retained(message)
  @retained[message.topic] = message
end