class CloudSesame::Domain::ClientModule::Caching::RailsCache
Public Class Methods
new(client, searchable)
click to toggle source
Calls superclass method
CloudSesame::Domain::ClientModule::Caching::Base::new
# File lib/cloud_sesame/domain/client_module/caching/rails_cache.rb, line 9 def initialize(client, searchable) ensure_environment_exists super end
Public Instance Methods
fetch(params)
click to toggle source
# File lib/cloud_sesame/domain/client_module/caching/rails_cache.rb, line 14 def fetch(params) Rails.cache.fetch(hexdigest(params)) do results = search params OpenStruct.new( status: results.status, hits: results.hits, facets: results.facets ) end end
Private Instance Methods
ensure_environment_exists()
click to toggle source
# File lib/cloud_sesame/domain/client_module/caching/rails_cache.rb, line 32 def ensure_environment_exists unless RailsCache.const_defined?(:Rails) raise Error::Caching, "Rails environment cannot be found" end end
hexdigest(params)
click to toggle source
# File lib/cloud_sesame/domain/client_module/caching/rails_cache.rb, line 27 def hexdigest(params) searchable_params = params.merge(searchable: @searchable) Digest::MD5.hexdigest Marshal.dump(searchable_params) end