class Warren::Callback::BroadcastWithWarren

Warren::Callback::BroadcastWithWarren is a Callback class which is used to handle message broadcast of ActiveRecord::Base objects on commit @see guides.rubyonrails.org/active_record_callbacks.html#callback-classes

Attributes

handler[R]
message_class[R]

Public Class Methods

new(handler:, message_class: Warren::Message::Short) click to toggle source

Creates the callback object

@param handler [Warren::Handler] The handler to take the messaged @param message_class [Warren::Message] The adaptor to render the messages

# File lib/warren/callback/broadcast_with_warren.rb, line 20
def initialize(handler:, message_class: Warren::Message::Short)
  @handler = handler
  @message_class = message_class
end

Public Instance Methods

after_commit(record) click to toggle source
# File lib/warren/callback/broadcast_with_warren.rb, line 25
def after_commit(record)
  # Message rendering is slow in some cases. This broadcasts an initial
  # lightweight message which can be picked up and rendered asynchronously
  # Borrows connection as per #broadcast
  handler << message_class.new(record)
end