class Stormy::Caches::Base

Public Class Methods

new(app) click to toggle source
# File lib/stormy/caches/base.rb, line 7
def initialize(app)
  @app = app
end

Public Instance Methods

content(category,key,options={}) { |options| ... } click to toggle source
# File lib/stormy/caches/base.rb, line 11
def content(category,key,options={},&block)
  data = self.get(category,key)
  if !data.nil?
    log "Cache Hit:  #{category} #{key}"
    data
  else
    log "Cache Miss: #{category} #{key}"
    self.put(category,key,yield(options))
  end
end
content_list(category,options = {}, &block) click to toggle source
# File lib/stormy/caches/base.rb, line 30
def content_list(category,options = {}, &block)
  content("list-#{category}",hash_options(options),&block)
end
layout(key,&block) click to toggle source
# File lib/stormy/caches/base.rb, line 26
def layout(key,&block)
  content("_layouts",key,&block)
end
log(str) click to toggle source
# File lib/stormy/caches/base.rb, line 34
def log(str)
  #puts str
end
page(key,&block) click to toggle source
# File lib/stormy/caches/base.rb, line 22
def page(key,&block)
  content("_pages",key,&block)
end

Protected Instance Methods

hash_options(options) click to toggle source
# File lib/stormy/caches/base.rb, line 40
def hash_options(options)
  Digest::MD5.hexdigest(options.to_a.sort_by { |key,val| key }.to_json)
end