Class: GoogleTranslateDiff::Cache

Inherits:
Object
  • Object
show all
Extended by:
Dry::Initializer
Defined in:
lib/google_translate_diff/cache.rb

Instance Method Summary collapse

Instance Method Details

#cached_and_missing(values) ⇒ Object



7
8
9
10
11
12
13
# File 'lib/google_translate_diff/cache.rb', line 7

def cached_and_missing(values)
  keys = values.map { |v| key(v) }
  cached = cache_store.read_multi(keys)
  missing = values.map.with_index { |v, i| v if cached[i].nil? }.compact

  [cached, missing]
end

#store(values, cached, updates) ⇒ Object



15
16
17
18
19
# File 'lib/google_translate_diff/cache.rb', line 15

def store(values, cached, updates)
  cached.map.with_index do |value, index|
    value || store_value(values[index], updates.shift)
  end
end