Method: Curator::Memory::DataStore#save

Defined in:
lib/curator/memory/data_store.rb

#save(options) ⇒ Object



23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
# File 'lib/curator/memory/data_store.rb', line 23

def save(options)
  bucket = _bucket_name(options[:collection_name])
  object = options[:value]
  key = options[:key]
  indexes = options.fetch(:index, {})

  key = _generate_key(bucket) unless key

  _records(bucket).store(key, object)
  indexes.each do |index_name, index_data|
    index = _index(bucket, index_name)

    _normalized_index_values(index_data).each do |index_value|
      index[index_value] ||= []
      index[index_value] << key unless index[index_value].include?(key)
    end
  end

  key
end