diff options
author | Alex Legler <alex@a3li.li> | 2015-02-23 00:50:38 +0100 |
---|---|---|
committer | Alex Legler <alex@a3li.li> | 2015-02-23 00:50:38 +0100 |
commit | 215091d5d1abeb9c38540eb0bb569851a3de1ba6 (patch) | |
tree | 7cf8835137e143eeeeef43b53a6b533d30141fd2 | |
parent | Fix get_content invocation for new error messages (diff) | |
download | backend-215091d5d1abeb9c38540eb0bb569851a3de1ba6.tar.gz backend-215091d5d1abeb9c38540eb0bb569851a3de1ba6.tar.bz2 backend-215091d5d1abeb9c38540eb0bb569851a3de1ba6.zip |
Refactor id resolving method to a more generic function
-rw-r--r-- | lib/storage.rb | 15 |
1 files 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) |