class JanusGateway::Plugin::Audioroom
Public Class Methods
new(client, session)
click to toggle source
@param [JanusGateway::Client] client @param [JanusGateway::Resource::Session] session
Calls superclass method
JanusGateway::Resource::Plugin::new
# File lib/janus_gateway/plugin/audioroom.rb, line 5 def initialize(client, session) super(client, session, 'janus.plugin.cm.audioroom') end
Public Instance Methods
list()
click to toggle source
@return [Concurrent::Promise]
# File lib/janus_gateway/plugin/audioroom.rb, line 10 def list promise = Concurrent::Promise.new client.send_transaction( janus: 'message', session_id: session.id, handle_id: id, body: { request: 'list' } ).then do |data| plugindata = data['plugindata']['data'] if plugindata['error_code'].nil? _on_success(data) promise.set(data).execute else error = JanusGateway::Error.new(plugindata['error_code'], plugindata['error']) _on_error(error) promise.fail(error).execute end end.rescue do |error| promise.fail(error).execute end promise end
Private Instance Methods
_on_error(error)
click to toggle source
# File lib/janus_gateway/plugin/audioroom.rb, line 46 def _on_error(error) emit :error, error end
_on_success(data)
click to toggle source
# File lib/janus_gateway/plugin/audioroom.rb, line 40 def _on_success(data) @data = data['plugindata'] emit :success end