aboutsummaryrefslogtreecommitdiffstats
path: root/actionmailer/lib/action_mailer/base.rb
diff options
context:
space:
mode:
authorJosé Valim and Mikel Lindsaar <pair@programming.com>2010-01-24 17:31:18 +0100
committerJosé Valim and Mikel Lindsaar <pair@programming.com>2010-01-24 17:31:18 +0100
commitf30d73bab4c676b187276797ac2a6dc89132c43f (patch)
tree36cb0f1f3aaa3edf5b7daee48df69d22ae21ba34 /actionmailer/lib/action_mailer/base.rb
parent7409b734841c8bd691006634dd072212aa905cf4 (diff)
downloadrails-f30d73bab4c676b187276797ac2a6dc89132c43f.tar.gz
rails-f30d73bab4c676b187276797ac2a6dc89132c43f.tar.bz2
rails-f30d73bab4c676b187276797ac2a6dc89132c43f.zip
Add new class delivery method API.
Diffstat (limited to 'actionmailer/lib/action_mailer/base.rb')
-rw-r--r--actionmailer/lib/action_mailer/base.rb18
1 files changed, 17 insertions, 1 deletions
diff --git a/actionmailer/lib/action_mailer/base.rb b/actionmailer/lib/action_mailer/base.rb
index b881611cfb..8e30c54c49 100644
--- a/actionmailer/lib/action_mailer/base.rb
+++ b/actionmailer/lib/action_mailer/base.rb
@@ -253,6 +253,8 @@ module ActionMailer #:nodoc:
# and appear last in the mime encoded message. You can also pick a different order from inside a method with
# +implicit_parts_order+.
class Base < AbstractController::Base
+ abstract!
+
include Quoting
include AbstractController::Logger
@@ -264,8 +266,8 @@ module ActionMailer #:nodoc:
helper ActionMailer::MailHelper
- include ActionMailer::DeprecatedApi
extend ActionMailer::DeliveryMethods
+ include ActionMailer::DeprecatedApi
add_delivery_method :smtp, Mail::SMTP,
:address => "localhost",
@@ -370,6 +372,20 @@ module ActionMailer #:nodoc:
payload[:date] = mail.date
payload[:mail] = mail.encoded
end
+
+ def respond_to?(method, *args)
+ super || action_methods.include?(method.to_s)
+ end
+
+ protected
+
+ def method_missing(method, *args)
+ if action_methods.include?(method.to_s)
+ new(method, *args).message
+ else
+ super
+ end
+ end
end
attr_internal :message