Module: TieredCaching::CachedObjectStatic
- Defined in:
- lib/tiered_caching/cached_object.rb
Defined Under Namespace
Classes: Attributes
Instance Method Summary collapse
- #[](key) ⇒ Object
- #[]=(key, value) ⇒ Object
- #cache_line=(value) ⇒ Object
- #delete(key) ⇒ Object
- #on_missing(&callback) ⇒ Object
Instance Method Details
#[](key) ⇒ Object
13 14 15 16 17 18 19 |
# File 'lib/tiered_caching/cached_object.rb', line 13 def [](key) if on_missing_callback cache.getset(internal_key(key)) { on_missing_callback.call(key) } else cache.get(internal_key(key)) end end |
#[]=(key, value) ⇒ Object
21 22 23 24 25 |
# File 'lib/tiered_caching/cached_object.rb', line 21 def []=(key, value) raise TypeError, "Cannot convert #{value.class} into #{self}" unless value.is_a?(self) cache.set(internal_key(key)) { value } end |
#cache_line=(value) ⇒ Object
5 6 7 |
# File 'lib/tiered_caching/cached_object.rb', line 5 def cache_line=(value) @cache_line = value end |
#delete(key) ⇒ Object
27 28 29 |
# File 'lib/tiered_caching/cached_object.rb', line 27 def delete(key) cache.delete(internal_key(key)) end |
#on_missing(&callback) ⇒ Object
9 10 11 |
# File 'lib/tiered_caching/cached_object.rb', line 9 def on_missing(&callback) attributes[:on_missing_callback] = callback end |