Class: Sidekiq::Defer::DelayedMailer
- Inherits:
-
Object
- Object
- Sidekiq::Defer::DelayedMailer
- Includes:
- Job
- Defined in:
- lib/sidekiq/defer/action_mailer.rb
Overview
Adds delay, delay_for and delay_until methods to ActionMailer to offload arbitrary email delivery to Sidekiq.
Instance Method Summary collapse
Instance Method Details
#perform(yml) ⇒ Object
18 19 20 21 22 23 24 25 26 |
# File 'lib/sidekiq/defer/action_mailer.rb', line 18 def perform(yml) (target, method_name, args) = YAML.safe_load(yml, permitted_classes: [Symbol]) msg = target.public_send(method_name, *args) # The email method can return nil, which causes ActionMailer to return # an undeliverable empty message. raise "#{target.name}##{method_name} returned an undeliverable mail object" unless msg msg.deliver_now end |