From 3e824d3f5b32bae70832fe0c1c329ce062f79ff9 Mon Sep 17 00:00:00 2001 From: Stan Lo Date: Wed, 30 Dec 2015 21:07:40 +0800 Subject: Move most caching methods to ActionDispatch::Caching, and let ActionMailer and ActionController to include it --- actionmailer/lib/action_mailer/caching.rb | 57 ++----------------------------- 1 file changed, 3 insertions(+), 54 deletions(-) (limited to 'actionmailer/lib') diff --git a/actionmailer/lib/action_mailer/caching.rb b/actionmailer/lib/action_mailer/caching.rb index c5b4890178..319909d1a7 100644 --- a/actionmailer/lib/action_mailer/caching.rb +++ b/actionmailer/lib/action_mailer/caching.rb @@ -1,62 +1,11 @@ -require 'active_support/descendants_tracker' -require 'action_dispatch/caching/fragments' +require 'action_dispatch/caching' module ActionMailer 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 - - include AbstractController::Helpers - include ConfigMethods - include ActionDispatch::Caching::Fragments - + extend ActiveSupport::Concern 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 - 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 + include ActionDispatch::Caching end def perform_caching -- cgit v1.2.3