diff options
Diffstat (limited to 'actionmailer/lib')
-rw-r--r-- | actionmailer/lib/action_mailer/caching.rb | 57 |
1 files changed, 3 insertions, 54 deletions
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 |