Module: Sequel::Plugins::Caching::InstanceMethods
- Defined in:
- lib/sequel/plugins/caching.rb
Instance Method Summary collapse
-
#before_update ⇒ Object
Remove the object from the cache when updating.
-
#cache_key ⇒ Object
Return a key unique to the underlying record for caching, based on the primary key value(s) for the object.
-
#delete ⇒ Object
Remove the object from the cache when deleting.
-
#update_values(*args) ⇒ Object
Remove the object from the cache when updating.
Instance Method Details
#before_update ⇒ Object
Remove the object from the cache when updating
82 83 84 85 |
# File 'lib/sequel/plugins/caching.rb', line 82 def before_update return false if super == false cache_delete end |
#cache_key ⇒ Object
Return a key unique to the underlying record for caching, based on the primary key value(s) for the object. If the model does not have a primary key, raise an Error.
90 91 92 93 94 95 96 97 98 99 |
# File 'lib/sequel/plugins/caching.rb', line 90 def cache_key raise(Error, "No primary key is associated with this model") unless key = primary_key pk = case key when Array key.collect{|k| @values[k]} else @values[key] || (raise Error, 'no primary key for this record') end model.send(:cache_key, pk) end |
#delete ⇒ Object
Remove the object from the cache when deleting
102 103 104 105 |
# File 'lib/sequel/plugins/caching.rb', line 102 def delete cache_delete super end |
#update_values(*args) ⇒ Object
Remove the object from the cache when updating
108 109 110 111 |
# File 'lib/sequel/plugins/caching.rb', line 108 def update_values(*args) cache_delete super end |