class Sidekiq::Mailer::Proxy

Public Class Methods

new(mailer_class, method_name, *args) click to toggle source
# File lib/sidekiq_mailer/proxy.rb, line 4
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/sidekiq_mailer/proxy.rb, line 10
def actual_message
  @actual_message ||= @mailer_class.send(:new, @method_name, *@args).message
end
deliver() click to toggle source
# File lib/sidekiq_mailer/proxy.rb, line 14
def deliver
  return deliver! if Sidekiq::Mailer.excludes_current_environment?
  Sidekiq::Mailer::Worker.client_push(to_sidekiq)
end
deliver!() click to toggle source
# File lib/sidekiq_mailer/proxy.rb, line 23
def deliver!
  actual_message.deliver
end
excluded_environment?() click to toggle source
# File lib/sidekiq_mailer/proxy.rb, line 19
def excluded_environment?
  Sidekiq::Mailer.excludes_current_environment?
end
method_missing(method_name, *args) click to toggle source
# File lib/sidekiq_mailer/proxy.rb, line 27
def method_missing(method_name, *args)
  actual_message.send(method_name, *args)
end
to_sidekiq() click to toggle source
# File lib/sidekiq_mailer/proxy.rb, line 31
def to_sidekiq
  params = {
    'class' => Sidekiq::Mailer::Worker,
    'args' => [@mailer_class.to_s, @method_name, @args]
  }
  params.merge(@mailer_class.get_sidekiq_options)
end