def self.create(topic, payload, opt={})
# cleanup payload to only contain strings
- payload = payload.map { |k, v| [k.to_s, v.to_s] }.to_h
JournalMessage.new(
id: opt[:id] || SecureRandom.uuid,
timestamp: opt[:timestamp] || Time.now,
end
# creates/ensures a index exists on the payload specified by key
- def ensure_index(key)
+ def ensure_payload_index(key)
end
# returns a array of message instances that match the query
@storage.remove(query)
end
+ def ensure_payload_index(key)
+ @storage.ensure_payload_index(key)
+ end
+
end
end # Journal
assert_equal(2, msgs.length)
assert_equal('bar', msgs.first['message'])
assert_equal('baz', msgs.last['message'])
+
+ journal.ensure_payload_index('foo.bar.baz')
end
NUM=100 # 1_000_000