提交 3438373f 编写于 作者: C Carlhuda

Use AS::Concern for caching modules

上级 ff29606c
...@@ -57,13 +57,12 @@ def cache_configured? ...@@ -57,13 +57,12 @@ def cache_configured?
end end
include ConfigMethods include ConfigMethods
include Pages, Actions, Fragments
include Sweeping if defined?(ActiveRecord)
included do included do
extend ConfigMethods extend ConfigMethods
include Pages, Actions, Fragments
include Sweeping if defined?(ActiveRecord)
@@perform_caching = true @@perform_caching = true
cattr_accessor :perform_caching cattr_accessor :perform_caching
end end
......
require 'fileutils' require 'fileutils'
require 'uri' require 'uri'
require 'active_support/core_ext/class/attribute_accessors'
module ActionController #:nodoc: module ActionController #:nodoc:
module Caching module Caching
...@@ -34,9 +35,9 @@ module Caching ...@@ -34,9 +35,9 @@ module Caching
# Additionally, you can expire caches using Sweepers that act on changes in the model to determine when a cache is supposed to be # Additionally, you can expire caches using Sweepers that act on changes in the model to determine when a cache is supposed to be
# expired. # expired.
module Pages module Pages
def self.included(base) #:nodoc: extend ActiveSupport::Concern
base.extend(ClassMethods)
base.class_eval do included do
@@page_cache_directory = defined?(Rails.public_path) ? Rails.public_path : "" @@page_cache_directory = defined?(Rails.public_path) ? Rails.public_path : ""
## ##
# :singleton-method: # :singleton-method:
...@@ -55,7 +56,6 @@ def self.included(base) #:nodoc: ...@@ -55,7 +56,6 @@ def self.included(base) #:nodoc:
# extension, such as <tt>.xml</tt> or <tt>.rss</tt>, page caching will not add an extension. This allows it to work well with RESTful apps. # extension, such as <tt>.xml</tt> or <tt>.rss</tt>, page caching will not add an extension. This allows it to work well with RESTful apps.
cattr_accessor :page_cache_extension cattr_accessor :page_cache_extension
end end
end
module ClassMethods module ClassMethods
# Expires the page that was cached with the +path+ as a key. Example: # Expires the page that was cached with the +path+ as a key. Example:
......
...@@ -30,9 +30,7 @@ module Caching ...@@ -30,9 +30,7 @@ module Caching
# cache_sweeper OpenBar::Sweeper, :only => [ :edit, :destroy, :share ] # cache_sweeper OpenBar::Sweeper, :only => [ :edit, :destroy, :share ]
# end # end
module Sweeping module Sweeping
def self.included(base) #:nodoc: extend ActiveSupport::Concern
base.extend(ClassMethods)
end
module ClassMethods #:nodoc: module ClassMethods #:nodoc:
def cache_sweeper(*sweepers) def cache_sweeper(*sweepers)
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册