From a2eeb15faadf94c879d749e211d160cb86b659c6 Mon Sep 17 00:00:00 2001 From: Matthias Hecker Date: Sat, 4 Jul 2015 13:51:42 +0200 Subject: [PATCH] journal: introduce ensure_payload_index --- lib/rbot/journal.rb | 7 +++++-- lib/rbot/journal/mongo.rb | 2 +- test/test_journal.rb | 2 ++ 3 files changed, 8 insertions(+), 3 deletions(-) diff --git a/lib/rbot/journal.rb b/lib/rbot/journal.rb index fe6c14be..981ff6e4 100644 --- a/lib/rbot/journal.rb +++ b/lib/rbot/journal.rb @@ -78,7 +78,6 @@ module Journal 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, @@ -99,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 @@ -419,6 +418,10 @@ module Journal @storage.remove(query) end + def ensure_payload_index(key) + @storage.ensure_payload_index(key) + end + end end # Journal diff --git a/lib/rbot/journal/mongo.rb b/lib/rbot/journal/mongo.rb index 2e735587..a03355f9 100644 --- a/lib/rbot/journal/mongo.rb +++ b/lib/rbot/journal/mongo.rb @@ -28,7 +28,7 @@ module Journal @collection.indexes.create_one({timestamp: 1}) end - def ensure_index(key) + def ensure_payload_index(key) @collection.indexes.create_one({'payload.'+key => 1}) end diff --git a/test/test_journal.rb b/test/test_journal.rb index 37497351..f1653c16 100644 --- a/test/test_journal.rb +++ b/test/test_journal.rb @@ -314,6 +314,8 @@ module JournalStorageTestMixin 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 -- 2.39.2