Module: Garner::Cache::Context

Defined in:
lib/garner/cache/context.rb

Instance Method Summary collapse

Instance Method Details

#garner(&block) ⇒ Garner::Cache::Identity

Instantiate a context-appropriate cache identity.

Examples:

garner.bind(current_user) do
  { count: current_user.logins.count }
end

Returns:



24
25
26
27
28
29
30
31
# File 'lib/garner/cache/context.rb', line 24

def garner(&block)
  identity = Garner::Cache::Identity.new(self)
  Garner.config.context_key_strategies.each do |strategy|
    identity = strategy.apply(identity, self)
  end

  block_given? ? identity.fetch(&block) : identity
end