Module: ActionCable::Channel::Broadcasting::ClassMethods
- Defined in:
- lib/action_cable/channel/broadcasting.rb
Instance Method Summary collapse
-
#broadcast_to(model, message) ⇒ Object
Broadcast a hash to a unique broadcasting for this
model
in this channel. -
#broadcasting_for(model) ⇒ Object
Returns a unique broadcasting identifier for this
model
in this channel:. -
#serialize_broadcasting(object) ⇒ Object
:nodoc:.
Instance Method Details
#broadcast_to(model, message) ⇒ Object
Broadcast a hash to a unique broadcasting for this model
in this channel.
14 15 16 |
# File 'lib/action_cable/channel/broadcasting.rb', line 14 def broadcast_to(model, ) ActionCable.server.broadcast(broadcasting_for(model), ) end |
#broadcasting_for(model) ⇒ Object
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.
24 25 26 |
# File 'lib/action_cable/channel/broadcasting.rb', line 24 def broadcasting_for(model) serialize_broadcasting([ channel_name, model ]) end |
#serialize_broadcasting(object) ⇒ Object
:nodoc:
28 29 30 31 32 33 34 35 36 37 |
# File 'lib/action_cable/channel/broadcasting.rb', line 28 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 |