Module: CacheMan::Fetchable::ClassMethods

Defined in:
lib/cache_man/fetchable.rb

Instance Method Summary collapse

Instance Method Details

#fetch(id) ⇒ Object



23
24
25
26
27
28
29
30
31
32
# File 'lib/cache_man/fetchable.rb', line 23

def fetch(id)
  cached_resource = get_cached(id)
  if cached_resource.nil?
    new_cache(id)
  elsif cached_resource.stale?
    recache(id) || cached_resource
  else
    cached_resource
  end
end

#recache(id) ⇒ Object



34
35
36
37
38
39
40
41
# File 'lib/cache_man/fetchable.rb', line 34

def recache(id)
  begin
    new_cache(id)
  rescue
    # request failed, should probably do something useful with it here
    # fall back to using cached copy
  end
end