module Resque::Mailer::ClassMethods

Public Instance Methods

current_env() click to toggle source
# File lib/resque_mailer.rb, line 36
def current_env
  if defined?(Rails)
    ::Resque::Mailer.current_env || ::Rails.env
  else
    ::Resque::Mailer.current_env
  end
end
deliver?() click to toggle source
# File lib/resque_mailer.rb, line 97
def deliver?
  true
end
excluded_environment?(name) click to toggle source
# File lib/resque_mailer.rb, line 93
def excluded_environment?(name)
  ::Resque::Mailer.excluded_environments && ::Resque::Mailer.excluded_environments.include?(name.try(:to_sym))
end
method_missing(method_name, *args) click to toggle source
Calls superclass method
# File lib/resque_mailer.rb, line 44
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, serialized_args) click to toggle source
# File lib/resque_mailer.rb, line 52
def perform(action, serialized_args)
  begin
    args = ::Resque::Mailer.argument_serializer.deserialize(serialized_args)
    # Set hash as hash with indifferent access so mailer block syntax (needs symbols) works
    if args.is_a?(Array)
      args = args.each_with_object([]) do |arg, o|
        o << (arg.is_a?(Hash) ? arg.with_indifferent_access : arg)
      end
    end
    message = ::Resque::Mailer.prepare_message(self, action, *args)
    if message.respond_to?(:deliver_now)
      message.deliver_now
    else
      message.deliver
    end
  rescue Exception => ex
    if Mailer.error_handler
      Mailer.error_handler.call(self, message, ex, action, args)
    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/resque_mailer.rb, line 81
def queue
  @queue || ::Resque::Mailer.default_queue_name
end
queue=(name) click to toggle source
# File lib/resque_mailer.rb, line 85
def queue=(name)
  @queue = name
end
resque() click to toggle source
# File lib/resque_mailer.rb, line 89
def resque
  ::Resque::Mailer.default_queue_target
end