module Motion::Component::Broadcasts
Constants
- DEFAULT
Attributes
_broadcast_handlers[W]
Public Instance Methods
_broadcast_handlers()
click to toggle source
# File lib/motion/component/broadcasts.rb, line 55 def _broadcast_handlers return @_broadcast_handlers if defined?(@_broadcast_handlers) return superclass._broadcast_handlers if superclass.respond_to?(:_broadcast_handlers) DEFAULT end
broadcast_to(model, message)
click to toggle source
# File lib/motion/component/broadcasts.rb, line 45 def broadcast_to(model, message) ActionCable.server.broadcast(broadcasting_for(model), message) end
broadcasting_for(model)
click to toggle source
# File lib/motion/component/broadcasts.rb, line 49 def broadcasting_for(model) serialize_broadcasting([name, model]) end
process_broadcast(broadcast, message)
click to toggle source
# File lib/motion/component/broadcasts.rb, line 78 def process_broadcast(broadcast, message) return unless (handler = _broadcast_handlers[broadcast]) _run_action_callbacks(context: handler) do if method(handler).arity.zero? send(handler) else send(handler, message) end end end
serialize_broadcasting(object)
click to toggle source
This definition is copied from ActionCable::Channel::Broadcasting
# File lib/motion/component/broadcasts.rb, line 65 def serialize_broadcasting(object) if object.is_a?(Array) object.map { |m| serialize_broadcasting(m) }.join(":") elsif object.respond_to?(:to_gid_param) object.to_gid_param else object.to_param end end