Module: Samurai::CacheableByToken

Included in:
PaymentMethod, Transaction
Defined in:
lib/samurai/cacheable_by_token.rb

Defined Under Namespace

Modules: ClassExtensions

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.included(klass) ⇒ Object

The default cache stores the values for the duration of the request Different caching strategies can be employed to keep the data around longer:

* class variables
* Rails.cache
* memcached
* redis cache


9
10
11
12
13
# File 'lib/samurai/cacheable_by_token.rb', line 9

def self.included(klass)
  klass.send :cattr_accessor, :cache
  klass.send :cache=, {}
  klass.extend(ClassExtensions)
end

Instance Method Details

#saveObject

Overrides the ActiveResource save method to update the current model in the cache



32
33
34
35
36
# File 'lib/samurai/cacheable_by_token.rb', line 32

def save
  super
  # update self in the cache
  self.class.cache[self.id] = self
end