Class: CableReady::Channels

Inherits:
Object
  • Object
show all
Defined in:
lib/cable_ready/channels.rb

Instance Method Summary collapse

Constructor Details

#initializeChannels

Returns a new instance of Channels.



5
6
7
# File 'lib/cable_ready/channels.rb', line 5

def initialize
  @channels = {}
end

Instance Method Details

#[](channel_name) ⇒ Object



9
10
11
# File 'lib/cable_ready/channels.rb', line 9

def [](channel_name)
  @channels[channel_name] ||= CableReady::Channel.new(channel_name)
end

#broadcastObject



17
18
19
20
21
22
23
24
# File 'lib/cable_ready/channels.rb', line 17

def broadcast
  @channels.each do |channel_name, channel|
    ActionCable.server.broadcast channel_name,
      "cableReady" => true,
      "operations" => channel.operations.deep_transform_keys { |key| key.to_s.camelize(:lower) }
  end
  clear
end

#clearObject



13
14
15
# File 'lib/cable_ready/channels.rb', line 13

def clear
  @channels = {}
end