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
modelin this channel. - 
  
    
      #broadcasting_for(model)  ⇒ Object 
    
    
  
  
  
  
  
  
  
  
  
    
Returns a unique broadcasting identifier for this
modelin 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  |