class BetfairApiNgRails::Api::Caching::ResponseCache

Attributes

method[R]
sig_params[R]

Public Class Methods

new(method, params) click to toggle source
# File lib/betfair_api_ng_rails/api/caching/response_cache.rb, line 11
def initialize(method, params)
  @method = method
  @sig_params = createsig(params)
end
redis_connection() click to toggle source
# File lib/betfair_api_ng_rails/api/caching/response_cache.rb, line 16
def self.redis_connection
  @_redis_connection ||= Redis.new
end

Public Instance Methods

cache!(response) click to toggle source
# File lib/betfair_api_ng_rails/api/caching/response_cache.rb, line 28
def cache!(response)
  cache_adapter.set cache_key, JSON.dump(response)
  cache_adapter.expire cache_key, expire_time
end
is_cached?() click to toggle source
# File lib/betfair_api_ng_rails/api/caching/response_cache.rb, line 20
def is_cached?
  !cache_result.nil?
end
responser() click to toggle source
# File lib/betfair_api_ng_rails/api/caching/response_cache.rb, line 24
def responser
  Api::Http::Responser.new prepare_response
end

Private Instance Methods

cache_adapter() click to toggle source
# File lib/betfair_api_ng_rails/api/caching/response_cache.rb, line 47
def cache_adapter
  self.class.redis_connection
end
cache_key() click to toggle source
# File lib/betfair_api_ng_rails/api/caching/response_cache.rb, line 51
def cache_key
  "betfair_api_ng_rails:#{method}:#{sig_params}"
end
cache_result() click to toggle source
# File lib/betfair_api_ng_rails/api/caching/response_cache.rb, line 35
def cache_result
  @_cache_result ||= cache_adapter.get cache_key
end
expire_time() click to toggle source
# File lib/betfair_api_ng_rails/api/caching/response_cache.rb, line 43
def expire_time
  BetfairApiNgRails.config.cache_expire
end
prepare_response() click to toggle source
# File lib/betfair_api_ng_rails/api/caching/response_cache.rb, line 39
def prepare_response
  OpenStruct.new body: cache_result, code: '200'
end