diff options
author | Stan Lo <a22301613@yahoo.com.tw> | 2015-12-30 21:07:40 +0800 |
---|---|---|
committer | Rafael Mendonça França <rafaelmfranca@gmail.com> | 2016-02-23 21:06:40 -0300 |
commit | 3e824d3f5b32bae70832fe0c1c329ce062f79ff9 (patch) | |
tree | 73ccdbd9d7aec9ff17e3731a0dbfef3710d36ca0 /actionpack/lib/action_controller/caching.rb | |
parent | a24d067343e7b14f066490c011828d57599fa94f (diff) | |
download | rails-3e824d3f5b32bae70832fe0c1c329ce062f79ff9.tar.gz rails-3e824d3f5b32bae70832fe0c1c329ce062f79ff9.tar.bz2 rails-3e824d3f5b32bae70832fe0c1c329ce062f79ff9.zip |
Move most caching methods to ActionDispatch::Caching, and let ActionMailer and ActionController to include it
Diffstat (limited to 'actionpack/lib/action_controller/caching.rb')
-rw-r--r-- | actionpack/lib/action_controller/caching.rb | 57 |
1 files changed, 3 insertions, 54 deletions
diff --git a/actionpack/lib/action_controller/caching.rb b/actionpack/lib/action_controller/caching.rb index ae868e23ed..e832f4adf4 100644 --- a/actionpack/lib/action_controller/caching.rb +++ b/actionpack/lib/action_controller/caching.rb @@ -1,6 +1,4 @@ -require 'action_dispatch/caching/fragments' -require 'fileutils' -require 'uri' +require 'action_dispatch/caching' module ActionController # \Caching is a cheap way of speeding up slow applications by keeping the result of @@ -24,61 +22,12 @@ module ActionController # config.action_controller.cache_store = :mem_cache_store, Memcached::Rails.new('localhost:11211') # config.action_controller.cache_store = MyOwnStore.new('parameter') module Caching - extend ActiveSupport::Concern extend ActiveSupport::Autoload - - module ConfigMethods - def cache_store - config.cache_store - end - - def cache_store=(store) - config.cache_store = ActiveSupport::Cache.lookup_store(store) - end - - private - def cache_configured? - perform_caching && cache_store - end - end - + extend ActiveSupport::Concern include AbstractController::Callbacks - include ConfigMethods - include ActionDispatch::Caching::Fragments - included do - extend ConfigMethods - - config_accessor :default_static_extension - self.default_static_extension ||= '.html' - - config_accessor :perform_caching - self.perform_caching = true if perform_caching.nil? - - class_attribute :_view_cache_dependencies - self._view_cache_dependencies = [] - helper_method :view_cache_dependencies if respond_to?(:helper_method) - end - - module ClassMethods - def view_cache_dependency(&dependency) - self._view_cache_dependencies += [dependency] - end - end - - def view_cache_dependencies - self.class._view_cache_dependencies.map { |dep| instance_exec(&dep) }.compact + include ActionDispatch::Caching end - - protected - # Convenience accessor. - def cache(key, options = {}, &block) - if cache_configured? - cache_store.fetch(ActiveSupport::Cache.expand_cache_key(key, :controller), options, &block) - else - yield - end - end end end |