class Backburner::Mailer::MessageDecoy
Public Class Methods
new(mailer_class, method_name, *args)
click to toggle source
# File lib/backburner_mailer.rb, line 86 def initialize(mailer_class, method_name, *args) @mailer_class = mailer_class @method_name = method_name *@args = *args end
Public Instance Methods
actual_message()
click to toggle source
# File lib/backburner_mailer.rb, line 114 def actual_message @actual_message ||= @mailer_class.send(:new, @method_name, *@args).message end
backburner()
click to toggle source
# File lib/backburner_mailer.rb, line 92 def backburner ::Backburner::Mailer.default_queue_target end
current_env()
click to toggle source
# File lib/backburner_mailer.rb, line 96 def current_env if defined?(Rails) ::Backburner::Mailer.current_env || ::Rails.env elsif defined?(Padrino) ::Backburner::Mailer.current_env || ::Padrino.env else ::Backburner::Mailer.current_env end end
deliver(opts = {})
click to toggle source
# File lib/backburner_mailer.rb, line 118 def deliver(opts = {}) return deliver! if environment_excluded? if @mailer_class.deliver? begin backburner.enqueue(@mailer_class, [@method_name].concat(@args), opts) rescue Errno::ECONNREFUSED deliver! end end end
deliver!()
click to toggle source
# File lib/backburner_mailer.rb, line 130 def deliver! actual_message.deliver end
environment_excluded?()
click to toggle source
# File lib/backburner_mailer.rb, line 106 def environment_excluded? !ActionMailer::Base.perform_deliveries || excluded_environment?(current_env) end
excluded_environment?(name)
click to toggle source
# File lib/backburner_mailer.rb, line 110 def excluded_environment?(name) ::Backburner::Mailer.excluded_environments && ::Backburner::Mailer.excluded_environments.include?(name.to_sym) end
method_missing(method_name, *args)
click to toggle source
# File lib/backburner_mailer.rb, line 134 def method_missing(method_name, *args) actual_message.send(method_name, *args) end