Module: TieredCaching::CachedObjectStatic

Defined in:
lib/tiered_caching/cached_object.rb

Defined Under Namespace

Classes: Attributes

Instance Method Summary collapse

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

Raises:

  • (TypeError)


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