X-Git-Url: https://git.netwichtig.de/gitweb/?a=blobdiff_plain;f=lib%2Frbot%2Fjournal.rb;h=981ff6e47eaab41fa496ed929d614615772bd1e8;hb=a19f7bfb97e5f36e6b282fcc0982584838e86a0a;hp=c5bfcfea1e4f699f93ff4ee4b84f844c5bed5718;hpb=85bfb8405528b2da203291b5671f9077d5b62742;p=user%2Fhenk%2Fcode%2Fruby%2Frbot.git diff --git a/lib/rbot/journal.rb b/lib/rbot/journal.rb index c5bfcfea..981ff6e4 100644 --- a/lib/rbot/journal.rb +++ b/lib/rbot/journal.rb @@ -77,6 +77,7 @@ module Journal end def self.create(topic, payload, opt={}) + # cleanup payload to only contain strings JournalMessage.new( id: opt[:id] || SecureRandom.uuid, timestamp: opt[:timestamp] || Time.now, @@ -97,7 +98,7 @@ module Journal 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 @@ -276,6 +277,7 @@ module Journal class JournalBroker + attr_reader :storage class Subscription attr_reader :topic attr_reader :block @@ -343,7 +345,9 @@ module Journal end def publish(topic, payload) + debug 'journal publish message in %s: %s' % [topic, payload.inspect] @queue << JournalMessage::create(topic, payload) + nil end # Subscribe to receive messages from a topic. @@ -401,13 +405,23 @@ module Journal end def count(query=nil) + unless query.is_a? Query + query = Query.define(query) + end @storage.count(query) end def remove(query=nil) + unless query.is_a? Query + query = Query.define(query) + end @storage.remove(query) end + def ensure_payload_index(key) + @storage.ensure_payload_index(key) + end + end end # Journal