Module: ActionCable::Channel::Broadcasting::ClassMethods
Relationships & Source Files | |
Defined in: | actioncable/lib/action_cable/channel/broadcasting.rb |
Instance Method Summary
-
#broadcast_to(model, message)
Broadcast a hash to a unique broadcasting for this
model
in this channel. -
#broadcasting_for(model)
Returns a unique broadcasting identifier for this
model
in this channel: - #serialize_broadcasting(object) private Internal use only
Instance Method Details
#broadcast_to(model, message)
Broadcast a hash to a unique broadcasting for this model
in this channel.
# File 'actioncable/lib/action_cable/channel/broadcasting.rb', line 14
def broadcast_to(model, ) ActionCable.server.broadcast(broadcasting_for(model), ) end
#broadcasting_for(model)
Returns a unique broadcasting identifier for this model
in this channel:
CommentsChannel.broadcasting_for("all") # => "comments:all"
You can pass any object as a target (e.g. Active Record model), and it would be serialized into a string under the hood.
# File 'actioncable/lib/action_cable/channel/broadcasting.rb', line 24
def broadcasting_for(model) serialize_broadcasting([ channel_name, model ]) end
#serialize_broadcasting(object) (private)
This method is for internal use only.
[ GitHub ]
# File 'actioncable/lib/action_cable/channel/broadcasting.rb', line 29
def serialize_broadcasting(object) # :nodoc: case when object.is_a?(Array) object.map { |m| serialize_broadcasting(m) }.join(":") when object.respond_to?(:to_gid_param) object.to_gid_param else object.to_param end end