Module: Sequel::Plugins::Caching::ClassMethods
- Defined in:
- lib/sequel/plugins/caching.rb
Instance Attribute Summary collapse
- 
  
    
      #cache_ignore_exceptions  ⇒ Object 
    
    
  
  
  
  
    
      readonly
    
    
  
  
  
  
  
  
    If true, ignores exceptions when gettings cached records (the memcached API). 
- 
  
    
      #cache_store  ⇒ Object 
    
    
  
  
  
  
    
      readonly
    
    
  
  
  
  
  
  
    The cache store object for the model, which should implement the Ruby-Memcache (or memcached) API. 
- 
  
    
      #cache_ttl  ⇒ Object 
    
    
  
  
  
  
    
      readonly
    
    
  
  
  
  
  
  
    The time to live for the cache store, in seconds. 
Instance Method Summary collapse
- 
  
    
      #cache_delete_pk(pk)  ⇒ Object 
    
    
  
  
  
  
  
  
  
  
  
    Delete the cached object with the given primary key. 
- 
  
    
      #cache_get_pk(pk)  ⇒ Object 
    
    
  
  
  
  
  
  
  
  
  
    Return the cached object with the given primary key, or nil if no such object is in the cache. 
- 
  
    
      #cache_key(pk)  ⇒ Object 
    
    
  
  
  
  
  
  
  
  
  
    Return a key string for the given primary key. 
- 
  
    
      #cache_key_prefix  ⇒ Object 
    
    
  
  
  
  
  
  
  
  
  
    Returns the prefix used to namespace this class in the cache. 
- 
  
    
      #set_cache_ttl(ttl)  ⇒ Object 
    
    
  
  
  
  
  
  
  
  
  
    Set the time to live for the cache store, in seconds (default is 3600, # so 1 hour). 
Instance Attribute Details
#cache_ignore_exceptions ⇒ Object (readonly)
If true, ignores exceptions when gettings cached records (the memcached API).
| 47 48 49 | # File 'lib/sequel/plugins/caching.rb', line 47 def cache_ignore_exceptions @cache_ignore_exceptions end | 
#cache_store ⇒ Object (readonly)
The cache store object for the model, which should implement the Ruby-Memcache (or memcached) API
| 51 52 53 | # File 'lib/sequel/plugins/caching.rb', line 51 def cache_store @cache_store end | 
#cache_ttl ⇒ Object (readonly)
The time to live for the cache store, in seconds.
| 54 55 56 | # File 'lib/sequel/plugins/caching.rb', line 54 def cache_ttl @cache_ttl end | 
Instance Method Details
#cache_delete_pk(pk) ⇒ Object
Delete the cached object with the given primary key.
| 57 58 59 | # File 'lib/sequel/plugins/caching.rb', line 57 def cache_delete_pk(pk) cache_delete(cache_key(pk)) end | 
#cache_get_pk(pk) ⇒ Object
Return the cached object with the given primary key, or nil if no such object is in the cache.
| 63 64 65 | # File 'lib/sequel/plugins/caching.rb', line 63 def cache_get_pk(pk) cache_get(cache_key(pk)) end | 
#cache_key(pk) ⇒ Object
Return a key string for the given primary key.
| 73 74 75 76 | # File 'lib/sequel/plugins/caching.rb', line 73 def cache_key(pk) raise(Error, 'no primary key for this record') unless pk.is_a?(Array) ? pk.all? : pk "#{cache_key_prefix}:#{Array(pk).join(',')}" end | 
#cache_key_prefix ⇒ Object
Returns the prefix used to namespace this class in the cache.
| 68 69 70 | # File 'lib/sequel/plugins/caching.rb', line 68 def cache_key_prefix "#{self}" end | 
#set_cache_ttl(ttl) ⇒ Object
Set the time to live for the cache store, in seconds (default is 3600, # so 1 hour).
| 81 82 83 | # File 'lib/sequel/plugins/caching.rb', line 81 def set_cache_ttl(ttl) @cache_ttl = ttl end |