class ActionMessenger::MessageDelivery
Attributes
args[R]
messenger_class[R]
method_name[R]
Public Class Methods
new(messenger_class, method_name, *args)
click to toggle source
# File lib/action_messenger/message_delivery.rb, line 8 def initialize(messenger_class, method_name, *args) @messenger_class = messenger_class @method_name = method_name @args = args end
Public Instance Methods
deliver_later!()
click to toggle source
send a message asynchronously
# File lib/action_messenger/message_delivery.rb, line 28 def deliver_later! ActionMessenger::MessageDeliveryJob.perform_later(self.class.name, 'deliver_now!', messenger_class.to_s, method_name.to_s, *args) end
deliver_now!()
click to toggle source
send a message now
# File lib/action_messenger/message_delivery.rb, line 15 def deliver_now! messenger.handle_exceptions do ActiveSupport::Notifications.instrument('deliver_now!.action_messenger', method_name: method_name, args: args) do if args.present? messenger.public_send(method_name, *args) else messenger.public_send(method_name) end end end end
messenger()
click to toggle source
# File lib/action_messenger/message_delivery.rb, line 32 def messenger @messenger ||= messenger_class.new end