module Tennpipes::Cache::Helpers::ObjectCache

Public Instance Methods

cache_object(key, opts = {}) { || ... } click to toggle source
# File lib/tennpipes-memory/helpers/cache_object.rb, line 5
def cache_object(key, opts = {})
  if settings.caching?
    began_at = Time.now
    if value = settings.cache[key.to_s]
      logger.debug "GET Object", began_at, key.to_s if defined?(logger)
    else
      value = yield
      settings.cache.store(key.to_s, value, opts)
      logger.debug "SET Object", began_at, key.to_s if defined?(logger)
    end
    value
  else
    yield
  end
end