aboutsummaryrefslogtreecommitdiffstats
path: root/actionmailer
diff options
context:
space:
mode:
authorPiotr Sarnacki <drogus@gmail.com>2010-08-03 19:36:53 +0200
committerPiotr Sarnacki <drogus@gmail.com>2010-09-03 22:59:11 +0200
commit79bd92b7833d52b74f50259cf8a21f9b05f3e9e3 (patch)
treefccf5b1b08816f0e6575a2bd4b1349fc8f821b07 /actionmailer
parent4131a2d804c54960ac70984e7453069fe8688365 (diff)
downloadrails-79bd92b7833d52b74f50259cf8a21f9b05f3e9e3.tar.gz
rails-79bd92b7833d52b74f50259cf8a21f9b05f3e9e3.tar.bz2
rails-79bd92b7833d52b74f50259cf8a21f9b05f3e9e3.zip
Refactor ActionMailer to not use hide_actions
Diffstat (limited to 'actionmailer')
-rw-r--r--actionmailer/lib/action_mailer.rb1
-rw-r--r--actionmailer/lib/action_mailer/base.rb11
-rw-r--r--actionmailer/lib/action_mailer/hide_actions.rb46
3 files changed, 4 insertions, 54 deletions
diff --git a/actionmailer/lib/action_mailer.rb b/actionmailer/lib/action_mailer.rb
index 05ba12197a..706ba74c2d 100644
--- a/actionmailer/lib/action_mailer.rb
+++ b/actionmailer/lib/action_mailer.rb
@@ -26,6 +26,7 @@ $:.unshift(actionpack_path) if File.directory?(actionpack_path) && !$:.include?(
require 'abstract_controller'
require 'action_view'
+require 'action_dispatch'
# Common Active Support usage in Action Mailer
require 'active_support/core_ext/class'
diff --git a/actionmailer/lib/action_mailer/base.rb b/actionmailer/lib/action_mailer/base.rb
index d1fb446366..f7acb36341 100644
--- a/actionmailer/lib/action_mailer/base.rb
+++ b/actionmailer/lib/action_mailer/base.rb
@@ -5,7 +5,6 @@ require 'active_support/core_ext/array/wrap'
require 'active_support/core_ext/object/blank'
require 'active_support/core_ext/proc'
require 'action_mailer/log_subscriber'
-require 'action_mailer/hide_actions'
module ActionMailer #:nodoc:
# Action Mailer allows you to send email from your application using a mailer model and views.
@@ -341,13 +340,13 @@ module ActionMailer #:nodoc:
include AbstractController::Helpers
include AbstractController::Translation
include AbstractController::AssetPaths
+ include AbstractController::UrlFor
cattr_reader :protected_instance_variables
@@protected_instance_variables = []
helper ActionMailer::MailHelper
include ActionMailer::OldApi
- include ActionMailer::HideActions
delegate :register_observer, :to => Mail
delegate :register_interceptor, :to => Mail
@@ -364,9 +363,8 @@ module ActionMailer #:nodoc:
class << self
def inherited(klass)
- klass.with_hiding_actions do
- super(klass)
- end
+ super(klass)
+ klass.class_eval { @action_methods = nil }
end
def mailer_name
@@ -732,9 +730,6 @@ module ActionMailer #:nodoc:
container.add_part(part)
end
- class_attribute :default_url_options
- self.default_url_options = {}
-
ActiveSupport.run_load_hooks(:action_mailer, self)
end
end
diff --git a/actionmailer/lib/action_mailer/hide_actions.rb b/actionmailer/lib/action_mailer/hide_actions.rb
deleted file mode 100644
index 876da95c3a..0000000000
--- a/actionmailer/lib/action_mailer/hide_actions.rb
+++ /dev/null
@@ -1,46 +0,0 @@
-require 'active_support/core_ext/class/attribute'
-
-module ActionMailer
- # ActionController::HideActions adds the ability to prevent public methods on a controller
- # to be called as actions.
- module HideActions
- extend ActiveSupport::Concern
-
- included do
- class_attribute :hidden_actions
- self.hidden_actions = Set.new.freeze
- end
-
- private
-
- module ClassMethods
- # Sets all of the actions passed in as hidden actions.
- #
- # ==== Parameters
- # *args<#to_s>:: A list of actions
- def hide_action(*args)
- self.hidden_actions = hidden_actions.dup.merge(args.map(&:to_s)).freeze
- end
-
- # Run block and add all the new action_methods to hidden_actions.
- # This is used in inherited method.
- def with_hiding_actions
- yield
- clear_action_methods!
- hide_action(*action_methods)
- clear_action_methods!
- end
-
- def clear_action_methods!
- @action_methods = nil
- end
-
- # Overrides AbstractController::Base#action_methods to remove any methods
- # that are listed as hidden methods.
- def action_methods
- @action_methods ||= super.reject { |name| hidden_actions.include?(name) }
- end
- end
- end
-end
-