class GrapeClient::Cache

Attributes

instance[R]

Private Class Methods

new() click to toggle source
# File lib/grape_client/cache.rb, line 3
def initialize
  clear
end

Public Instance Methods

clear() click to toggle source
# File lib/grape_client/cache.rb, line 7
def clear
  @objects = {}
end
fetch(params) { || ... } click to toggle source
# File lib/grape_client/cache.rb, line 11
def fetch(params)
  id = params.is_a?(Hash) ? params[:id] : params
  object = @objects[id] if id.present?
  unless object.present?
    object = yield
    store(object)
  end
  object
end
remove(object) click to toggle source
# File lib/grape_client/cache.rb, line 27
def remove(object)
  id = object.try(:id)
  return unless id.present?
  @objects[id] = nil
end
store(object) click to toggle source
# File lib/grape_client/cache.rb, line 21
def store(object)
  id = object.try(:id)
  return unless id.present?
  @objects[id] = object
end