Class: Plivo::Resources::ConferenceInterface

Inherits:
Base::ResourceInterface show all
Defined in:
lib/plivo/resources/conferences.rb

Constant Summary

Constants included from Utils

Utils::TYPE_WHITELIST

Instance Method Summary collapse

Methods included from Utils

expected_type?, expected_value?, raise_invalid_request, valid_account?, valid_mainaccount?, valid_param?, valid_signature?, valid_subaccount?

Constructor Details

#initialize(client, resource_list_json = nil) ⇒ ConferenceInterface

Returns a new instance of ConferenceInterface.



219
220
221
222
223
224
# File 'lib/plivo/resources/conferences.rb', line 219

def initialize(client, resource_list_json = nil)
  @_name = 'Conference'
  @_resource_type = Conference
  @_identifier_string = 'conference_name'
  super
end

Instance Method Details

#deaf_member(conference_name, member_id) ⇒ Object

Parameters:

  • conference_name (String)
  • member_id (Array)


325
326
327
328
329
# File 'lib/plivo/resources/conferences.rb', line 325

def deaf_member(conference_name, member_id)
  valid_param?(:conference_name, conference_name, [String, Symbol], true)
  Conference.new(@_client, resource_id: conference_name)
            .deaf_member(member_id)
end

#delete(conference_name) ⇒ Object



247
248
249
250
251
252
253
# File 'lib/plivo/resources/conferences.rb', line 247

def delete(conference_name)
  valid_param?(:conference_name, conference_name, [String, Symbol], true)
  if conference_name.empty?
    raise_invalid_request('Invalid conference_name passed')
  end
  Conference.new(@_client, resource_id: conference_name).delete
end

#delete_allObject



243
244
245
# File 'lib/plivo/resources/conferences.rb', line 243

def delete_all
  Conference.new(@_client, resource_id: '').delete
end

#delete_member(conference_name, member_id) ⇒ Object

Parameters:

  • conference_name (String)
  • member_id (String)


257
258
259
260
261
# File 'lib/plivo/resources/conferences.rb', line 257

def delete_member(conference_name, member_id)
  valid_param?(:conference_name, conference_name, [String, Symbol], true)
  Conference.new(@_client, resource_id: conference_name)
            .delete_member(member_id)
end

#eachObject



238
239
240
241
# File 'lib/plivo/resources/conferences.rb', line 238

def each
  conference_list = list
  conference_list[:conferences].each { |conference| yield conference }
end

#get(conference_name) ⇒ Object



226
227
228
# File 'lib/plivo/resources/conferences.rb', line 226

def get(conference_name)
  perform_get(conference_name)
end

#kick_member(conference_name, member_id) ⇒ Object

Parameters:

  • conference_name (String)
  • member_id (String)


265
266
267
268
269
# File 'lib/plivo/resources/conferences.rb', line 265

def kick_member(conference_name, member_id)
  valid_param?(:conference_name, conference_name, [String, Symbol], true)
  Conference.new(@_client, resource_id: conference_name)
            .kick_member(member_id)
end

#listObject



230
231
232
233
234
235
236
# File 'lib/plivo/resources/conferences.rb', line 230

def list
  perform_list_without_object
  {
    api_id: @api_id,
    conferences: @conferences
  }
end

#mute_member(conference_name, member_id) ⇒ Object

Parameters:

  • conference_name (String)
  • member_id (Array)


273
274
275
276
277
# File 'lib/plivo/resources/conferences.rb', line 273

def mute_member(conference_name, member_id)
  valid_param?(:conference_name, conference_name, [String, Symbol], true)
  Conference.new(@_client, resource_id: conference_name)
            .mute_member(member_id)
end

#play_member(conference_name, member_id, url) ⇒ Object

Parameters:

  • conference_name (String)
  • member_id (Array)


289
290
291
292
293
# File 'lib/plivo/resources/conferences.rb', line 289

def play_member(conference_name, member_id, url)
  valid_param?(:conference_name, conference_name, [String, Symbol], true)
  Conference.new(@_client, resource_id: conference_name)
            .play_member(member_id, url)
end

#record(conference_name, options = nil) ⇒ Object

Parameters:

  • conference_name (String)
  • options (Hash) (defaults to: nil)

Options Hash (options):

  • :file_format (String)

    The file format of the record can be of mp3 or wav format. Defaults to mp3 format.

  • :transcription_type (String)

    The type of transcription required. The following values are allowed:

    • auto - This is the default value. Transcription is completely automated; turnaround time is about 5 minutes.

    • hybrid - Transcription is a combination of automated and human verification processes; turnaround time is about 10-15 minutes.

  • :transcription_url (String)

    The URL where the transcription is available.

  • :transcription_method (String)

    The method used to invoke the transcription_url. Defaults to POST.

  • :callback_url (String)

    The URL invoked by the API when the recording ends. The following parameters are sent to the callback_url:

    • api_id - the same API ID returned by the conference record API.

    • record_url - the URL to access the recorded file.

    • recording_id - recording ID of the recorded file.

    • conference_name - the conference name recorded.

    • recording_duration - duration in seconds of the recording.

    • recording_duration_ms - duration in milliseconds of the recording.

    • recording_start_ms - when the recording started (epoch time UTC) in milliseconds.

    • recording_end_ms - when the recording ended (epoch time UTC) in milliseconds.

  • :callback_method (String)

    The method which is used to invoke the callback_url URL. Defaults to POST.



357
358
359
360
361
# File 'lib/plivo/resources/conferences.rb', line 357

def record(conference_name, options = nil)
  valid_param?(:conference_name, conference_name, [String, Symbol], true)
  Conference.new(@_client, resource_id: conference_name)
            .record(options)
end

#speak_member(conference_name, member_id, text, options = nil) ⇒ Object

Parameters:

  • conference_name (String)
  • member_id (Array)
  • text (String)
    • The text that the member must hear.

  • options (Hash) (defaults to: nil)

Options Hash (options):



309
310
311
312
313
# File 'lib/plivo/resources/conferences.rb', line 309

def speak_member(conference_name, member_id, text, options = nil)
  valid_param?(:conference_name, conference_name, [String, Symbol], true)
  Conference.new(@_client, resource_id: conference_name)
            .speak_member(member_id, text, options)
end

#stop_play_member(conference_name, member_id) ⇒ Object

Parameters:

  • conference_name (String)
  • member_id (Array)


297
298
299
300
301
# File 'lib/plivo/resources/conferences.rb', line 297

def stop_play_member(conference_name, member_id)
  valid_param?(:conference_name, conference_name, [String, Symbol], true)
  Conference.new(@_client, resource_id: conference_name)
            .stop_play_member(member_id)
end

#stop_record(conference_name) ⇒ Object

Parameters:

  • conference_name (String)


364
365
366
367
368
# File 'lib/plivo/resources/conferences.rb', line 364

def stop_record(conference_name)
  valid_param?(:conference_name, conference_name, [String, Symbol], true)
  Conference.new(@_client, resource_id: conference_name)
            .stop_record
end

#stop_speak_member(conference_name, member_id) ⇒ Object

Parameters:

  • conference_name (String)
  • member_id (Array)


317
318
319
320
321
# File 'lib/plivo/resources/conferences.rb', line 317

def stop_speak_member(conference_name, member_id)
  valid_param?(:conference_name, conference_name, [String, Symbol], true)
  Conference.new(@_client, resource_id: conference_name)
            .stop_speak_member(member_id)
end

#undeaf_member(conference_name, member_id) ⇒ Object

Parameters:

  • conference_name (String)
  • member_id (Array)


333
334
335
336
337
# File 'lib/plivo/resources/conferences.rb', line 333

def undeaf_member(conference_name, member_id)
  valid_param?(:conference_name, conference_name, [String, Symbol], true)
  Conference.new(@_client, resource_id: conference_name)
            .undeaf_member(member_id)
end

#unmute_member(conference_name, member_id) ⇒ Object

Parameters:

  • conference_name (String)
  • member_id (Array)


281
282
283
284
285
# File 'lib/plivo/resources/conferences.rb', line 281

def unmute_member(conference_name, member_id)
  valid_param?(:conference_name, conference_name, [String, Symbol], true)
  Conference.new(@_client, resource_id: conference_name)
            .unmute_member(member_id)
end