Module: CableRoom::Ports

Extended by:
ActiveSupport::Concern
Included in:
Room::Base, RoomMembership
Defined in:
lib/cable_room/ports.rb

Defined Under Namespace

Classes: PortProxy, PortsProxy

Instance Method Summary collapse

Instance Method Details

#close_streamed_ports!Object



14
15
16
17
18
19
# File 'lib/cable_room/ports.rb', line 14

def close_streamed_ports!
  _streamed_ports.each do |port|
    @cable_channel.stop_stream_from(room_port_key(port))
  end
  _streamed_ports.clear
end

#port_transmit(port, data) ⇒ Object



21
22
23
# File 'lib/cable_room/ports.rb', line 21

def port_transmit(port, data)
  ActionCable.server.broadcast(room_port_key(port), data)
end

#portsObject



5
6
7
# File 'lib/cable_room/ports.rb', line 5

def ports
  @ports_proxy ||= PortsProxy.new(self)
end

#stream_port(port, auto_close: true, &blk) ⇒ Object



9
10
11
12
# File 'lib/cable_room/ports.rb', line 9

def stream_port(port, auto_close: true, &blk)
  @cable_channel.stream_from(room_port_key(port), coder: ActiveSupport::JSON, &blk)
  _streamed_ports << port if auto_close
end