Class: JanusGateway::Client

Inherits:
Object
  • Object
show all
Defined in:
lib/janus_gateway/client.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(transport, options = {}) ⇒ Client

Returns a new instance of Client.

Parameters:



7
8
9
10
11
12
13
# File 'lib/janus_gateway/client.rb', line 7

def initialize(transport, options = {})
  @transport = transport
  @options = {
    token: nil,
    admin_secret: nil
  }.merge(options)
end

Instance Attribute Details

#transportObject

Returns the value of attribute transport.



3
4
5
# File 'lib/janus_gateway/client.rb', line 3

def transport
  @transport
end

Instance Method Details

#connectObject



19
20
21
# File 'lib/janus_gateway/client.rb', line 19

def connect
  @transport.connect
end

#connected?TrueClass, FalseClass

Returns:

  • (TrueClass, FalseClass)


35
36
37
# File 'lib/janus_gateway/client.rb', line 35

def connected?
  @transport.connected?
end

#disconnectObject



23
24
25
# File 'lib/janus_gateway/client.rb', line 23

def disconnect
  @transport.disconnect
end

#on(event, &block) ⇒ Object

Parameters:

  • event (Symbol, String)
  • block (Proc)


41
42
43
# File 'lib/janus_gateway/client.rb', line 41

def on(event, &block)
  @transport.on(event, &block)
end

#runObject



15
16
17
# File 'lib/janus_gateway/client.rb', line 15

def run
  @transport.run
end

#send_transaction(data) ⇒ Concurrent::Promise

Parameters:

  • data (Hash)

Returns:

  • (Concurrent::Promise)


29
30
31
32
# File 'lib/janus_gateway/client.rb', line 29

def send_transaction(data)
  extra_fields = @options.delete_if { |_, v| v.nil? }
  @transport.send_transaction(data.merge(extra_fields))
end