From 34b23e7110a3a13cf157608cefc9b5701017bf39 Mon Sep 17 00:00:00 2001 From: Santiago Pastorino Date: Mon, 10 Sep 2012 12:52:19 -0700 Subject: Action Mailer async flag is true by default using a Synchronous impl --- actionmailer/lib/action_mailer/queued_message.rb | 27 ++++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 actionmailer/lib/action_mailer/queued_message.rb (limited to 'actionmailer/lib/action_mailer/queued_message.rb') diff --git a/actionmailer/lib/action_mailer/queued_message.rb b/actionmailer/lib/action_mailer/queued_message.rb new file mode 100644 index 0000000000..e5868ab43b --- /dev/null +++ b/actionmailer/lib/action_mailer/queued_message.rb @@ -0,0 +1,27 @@ +require 'delegate' + +module ActionMailer + class QueuedMessage < ::Delegator + attr_reader :queue + + def initialize(queue, mailer_class, method_name, *args) + @queue = queue + @mailer_class = mailer_class + @method_name = method_name + @args = args + end + + def __getobj__ + @actual_message ||= @mailer_class.send(:new, @method_name, *@args).message + end + + def run + __getobj__.deliver + end + + # Will push the message onto the Queue to be processed + def deliver + @queue << self + end + end +end -- cgit v1.2.3