class StimulusReflex::Broadcaster
Attributes
logger[R]
operations[R]
reflex[R]
Public Class Methods
new(reflex)
click to toggle source
# File lib/stimulus_reflex/broadcasters/broadcaster.rb, line 8 def initialize(reflex) @reflex = reflex @logger = Rails.logger if defined?(Rails.logger) @operations = [] end
Public Instance Methods
broadcast(*args)
click to toggle source
abstract method to be implemented by subclasses
# File lib/stimulus_reflex/broadcasters/broadcaster.rb, line 43 def broadcast(*args) raise NotImplementedError end
broadcast_message(subject:, body: nil, data: {}, error: nil)
click to toggle source
# File lib/stimulus_reflex/broadcasters/broadcaster.rb, line 26 def broadcast_message(subject:, body: nil, data: {}, error: nil) logger.error "\e[31m#{body}\e[0m" if subject == "error" operations << ["document", :dispatch_event] cable_ready.dispatch_event( name: "stimulus-reflex:server-message", detail: { reflexId: data["reflexId"], stimulus_reflex: data.merge( morph: to_sym, server_message: {subject: subject, body: error&.to_s} ) } ) cable_ready.broadcast end
nothing?()
click to toggle source
# File lib/stimulus_reflex/broadcasters/broadcaster.rb, line 14 def nothing? false end
page?()
click to toggle source
# File lib/stimulus_reflex/broadcasters/broadcaster.rb, line 18 def page? false end
selector?()
click to toggle source
# File lib/stimulus_reflex/broadcasters/broadcaster.rb, line 22 def selector? false end
to_s()
click to toggle source
abstract method to be implemented by subclasses
# File lib/stimulus_reflex/broadcasters/broadcaster.rb, line 53 def to_s raise NotImplementedError end
to_sym()
click to toggle source
abstract method to be implemented by subclasses
# File lib/stimulus_reflex/broadcasters/broadcaster.rb, line 48 def to_sym raise NotImplementedError end