Method: Curator::Memory::DataStore#find_by_attribute
- Defined in:
- lib/curator/memory/data_store.rb
#find_by_attribute(collection_name, attribute, query) ⇒ Object
72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 |
# File 'lib/curator/memory/data_store.rb', line 72 def find_by_attribute(collection_name, attribute, query) return [] if query.nil? bucket = _bucket_name(collection_name) index = _index(bucket, attribute) keys = case query when Range keys = index.keys.select do |key| key.between?(query.first, query.last) end index.values_at(*keys).flatten else index.fetch(query, []) end keys.map do |key| find_by_key(collection_name, key) end end |