module Backburner::Mailer::ClassMethods

Public Instance Methods

backburner() click to toggle source
# File lib/backburner_mailer.rb, line 70
def backburner
  ::Backburner::Mailer.default_queue_target
end
current_env() click to toggle source
# File lib/backburner_mailer.rb, line 27
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?() click to toggle source
# File lib/backburner_mailer.rb, line 78
def deliver?
  true
end
excluded_environment?(name) click to toggle source
# File lib/backburner_mailer.rb, line 74
def excluded_environment?(name)
  ::Backburner::Mailer.excluded_environments && ::Backburner::Mailer.excluded_environments.include?(name.try(:to_sym))
end
method_missing(method_name, *args) click to toggle source
Calls superclass method
# File lib/backburner_mailer.rb, line 37
def method_missing(method_name, *args)
  if action_methods.include?(method_name.to_s)
    MessageDecoy.new(self, method_name, *args)
  else
    super
  end
end
perform(action, *args) click to toggle source
# File lib/backburner_mailer.rb, line 45
def perform(action, *args)
  begin
    message = self.send(:new, action, *args).message
    message.deliver
  rescue Exception => ex
    if Mailer.error_handler
      Mailer.error_handler.call(self, message, ex)
    else
      if logger
        logger.error "Unable to deliver email [#{action}]: #{ex}"
        logger.error ex.backtrace.join("\n\t")
      end
      raise ex
    end
  end
end
queue() click to toggle source
# File lib/backburner_mailer.rb, line 62
def queue
  @queue || ::Backburner::Mailer.default_queue_name
end
queue=(name) click to toggle source
# File lib/backburner_mailer.rb, line 66
def queue=(name)
  @queue = name
end