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