Class: Restforce::Middleware::Caching

Inherits:
FaradayMiddleware::Caching
  • Object
show all
Defined in:
lib/restforce/middleware/caching.rb

Instance Method Summary collapse

Instance Method Details

#cache_key(env) ⇒ Object

We don’t want to cache requests for different clients, so append the oauth token to the cache key.



15
16
17
# File 'lib/restforce/middleware/caching.rb', line 15

def cache_key(env)
  super(env) + env[:request_headers][Restforce::Middleware::Authorization::AUTH_HEADER].gsub(/\s/, '')
end

#call(env) ⇒ Object



4
5
6
7
# File 'lib/restforce/middleware/caching.rb', line 4

def call(env)
  expire(cache_key(env)) unless use_cache?
  super
end

#expire(key) ⇒ Object



9
10
11
# File 'lib/restforce/middleware/caching.rb', line 9

def expire(key)
  cache.delete(key) if cache
end

#use_cache?Boolean

Returns:

  • (Boolean)


19
20
21
# File 'lib/restforce/middleware/caching.rb', line 19

def use_cache?
  !@options.has_key?(:use_cache) || @options[:use_cache]
end