commit: 215091d5d1abeb9c38540eb0bb569851a3de1ba6
Author: Alex Legler <alex <AT> a3li <DOT> li>
AuthorDate: Sun Feb 22 23:50:38 2015 +0000
Commit: Alex Legler <a3li <AT> gentoo <DOT> org>
CommitDate: Sun Feb 22 23:50:38 2015 +0000
URL: http://sources.gentoo.org/gitweb/?p=proj/ag.git;a=commit;h=215091d5
Refactor id resolving method to a more generic function
---
lib/storage.rb | 15 +++++++++++----
1 file changed, 11 insertions(+), 4 deletions(-)
diff --git a/lib/storage.rb b/lib/storage.rb
index 660b300..37083fa 100644
--- a/lib/storage.rb
+++ b/lib/storage.rb
@@ -93,8 +93,8 @@ module Ag::Storage
content
end
- def resolve_message_id(list, message_id = nil)
- return nil if message_id == nil
+ def resolve_by_field(list, field, value)
+ return nil if value == nil
result = $es.search(
index: 'ml-' + list,
@@ -102,7 +102,7 @@ module Ag::Storage
query: {
filtered: {
filter: {
- term: { raw_message_id: message_id }
+ term: { field => value }
}
}
},
@@ -111,10 +111,17 @@ module Ag::Storage
)
return nil if result['hits']['total'] == 0
-
result['hits']['hits'].first['_id']
end
+ def resolve_message_id(list, message_id = nil)
+ resolve_by_field(list, :raw_message_id, message_id)
+ end
+
+ def resolve_filename(list, filename)
+ resolve_by_field(list, :raw_filename, filename)
+ end
+
def store(list, message, filename)
content = get_content(message, filename)