lib/sidekiq/extensions/action_mailer.rb in sidekiq-5.2.10 vs lib/sidekiq/extensions/action_mailer.rb in sidekiq-6.0.0.pre1
- old
+ new
@@ -1,8 +1,9 @@
# frozen_string_literal: true
-require 'sidekiq/extensions/generic_proxy'
+require "sidekiq/extensions/generic_proxy"
+
module Sidekiq
module Extensions
##
# Adds 'delay', 'delay_for' and `delay_until` methods to ActionMailer to offload arbitrary email
# delivery to Sidekiq. Example:
@@ -17,41 +18,30 @@
(target, method_name, args) = YAML.load(yml)
msg = target.public_send(method_name, *args)
# The email method can return nil, which causes ActionMailer to return
# an undeliverable empty message.
if msg
- deliver(msg)
+ msg.deliver_now
else
raise "#{target.name}##{method_name} returned an undeliverable mail object"
end
end
-
- private
-
- def deliver(msg)
- if msg.respond_to?(:deliver_now)
- # Rails 4.2/5.0
- msg.deliver_now
- else
- # Rails 3.2/4.0/4.1
- msg.deliver
- end
- end
end
module ActionMailer
- def sidekiq_delay(options={})
+ def sidekiq_delay(options = {})
Proxy.new(DelayedMailer, self, options)
end
- def sidekiq_delay_for(interval, options={})
- Proxy.new(DelayedMailer, self, options.merge('at' => Time.now.to_f + interval.to_f))
+
+ def sidekiq_delay_for(interval, options = {})
+ Proxy.new(DelayedMailer, self, options.merge("at" => Time.now.to_f + interval.to_f))
end
- def sidekiq_delay_until(timestamp, options={})
- Proxy.new(DelayedMailer, self, options.merge('at' => timestamp.to_f))
+
+ def sidekiq_delay_until(timestamp, options = {})
+ Proxy.new(DelayedMailer, self, options.merge("at" => timestamp.to_f))
end
alias_method :delay, :sidekiq_delay
alias_method :delay_for, :sidekiq_delay_for
alias_method :delay_until, :sidekiq_delay_until
end
-
end
end