Sha256: 8e38d0f3f654e2bbcbb90f6b8995749c93899c3423a6d2eb0c99bf7650d7c8f4
Contents?: true
Size: 1.38 KB
Versions: 4
Compression:
Stored size: 1.38 KB
Contents
module Lacquer module CacheUtils def self.included(base) base.class_eval do attr_reader :cache_ttl before_filter :set_default_cache_ttl after_filter :send_cache_control_headers end end # Instance variable for the action ttl. def set_cache_ttl(ttl) @cache_ttl = ttl end # Called as a before filter to set default ttl # for the entire application. def set_default_cache_ttl set_cache_ttl(Lacquer.configuration.default_ttl) end # Sends url.purge command to varnish to clear cache. # # clear_cache_for(root_path, blog_posts_path, '/other/content/*') def clear_cache_for(*paths) paths.each do |path| case Lacquer.configuration.job_backend when :delayed_job require 'lacquer/delayed_job_job' Delayed::Job.enqueue(Lacquer::DelayedJobJob.new('url.purge ' << path)) when :resque require 'lacquer/resque_job' Resque.enqueue(Lacquer::ResqueJob, 'url.purge ' << path) when :none Varnish.new.purge('url.purge ' << path) end end end # Sends cache control headers with page. # These are the headers that varnish responds to # to set cache properly. def send_cache_control_headers if Lacquer.configuration.enable_cache expires_in(@cache_ttl, :public => true) end end end end
Version data entries
4 entries across 4 versions & 2 rubygems
Version | Path |
---|---|
posterous-lacquer-0.2.4 | lib/lacquer/cache_utils.rb |
posterous-lacquer-0.2.3 | lib/lacquer/cache_utils.rb |
lacquer-0.2.3 | lib/lacquer/cache_utils.rb |
lacquer-0.2.2 | lib/lacquer/cache_utils.rb |