Sha256: 423aeb5ffaf201255b46efe15859706cdfe5618adbea6ab2d7ca65a2892ef23d
Contents?: true
Size: 996 Bytes
Versions: 24
Compression:
Stored size: 996 Bytes
Contents
require 'ostruct' module CloudSesame module Domain module ClientModule module Caching class RailsCache < Base def initialize(client, searchable) ensure_environment_exists super end 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 def hexdigest(params) searchable_params = params.merge(searchable: @searchable) Digest::MD5.hexdigest Marshal.dump(searchable_params) end def ensure_environment_exists unless RailsCache.const_defined?(:Rails) raise Error::Caching, "Rails environment cannot be found" end end end end end end end
Version data entries
24 entries across 24 versions & 1 rubygems