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

GetSortedQueryParamString?, compute_signatureV3?, expected_type?, expected_value?, generate_url?, getMapFromQueryString?, is_one_among_string_url?, multi_valid_param?, raise_invalid_request, valid_account?, valid_date_format?, valid_mainaccount?, valid_multiple_destination_integers?, valid_multiple_destination_nos?, valid_param?, valid_range?, valid_signature?, valid_signatureV3?, valid_subaccount?, valid_url?

Constructor Details

#initialize(client, resource_list_json = nil) ⇒ ConferenceInterface

Returns a new instance of ConferenceInterface.



214
215
216
217
218
219
220
# File 'lib/plivo/resources/conferences.rb', line 214

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

Instance Method Details

#deaf_member(conference_name, member_id) ⇒ Object

Parameters:

  • conference_name (String)
  • member_id (Array)


321
322
323
324
325
# File 'lib/plivo/resources/conferences.rb', line 321

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



243
244
245
246
247
248
249
# File 'lib/plivo/resources/conferences.rb', line 243

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



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

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

#delete_member(conference_name, member_id) ⇒ Object

Parameters:

  • conference_name (String)
  • member_id (String)


253
254
255
256
257
# File 'lib/plivo/resources/conferences.rb', line 253

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



234
235
236
237
# File 'lib/plivo/resources/conferences.rb', line 234

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

#get(conference_name) ⇒ Object



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

def get(conference_name)
  perform_get(conference_name)
end

#kick_member(conference_name, member_id) ⇒ Object

Parameters:

  • conference_name (String)
  • member_id (String)


261
262
263
264
265
# File 'lib/plivo/resources/conferences.rb', line 261

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



226
227
228
229
230
231
232
# File 'lib/plivo/resources/conferences.rb', line 226

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)


269
270
271
272
273
# File 'lib/plivo/resources/conferences.rb', line 269

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)


285
286
287
288
289
# File 'lib/plivo/resources/conferences.rb', line 285

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.



353
354
355
356
357
# File 'lib/plivo/resources/conferences.rb', line 353

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):



305
306
307
308
309
# File 'lib/plivo/resources/conferences.rb', line 305

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)


293
294
295
296
297
# File 'lib/plivo/resources/conferences.rb', line 293

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)


360
361
362
363
364
# File 'lib/plivo/resources/conferences.rb', line 360

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)


313
314
315
316
317
# File 'lib/plivo/resources/conferences.rb', line 313

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)


329
330
331
332
333
# File 'lib/plivo/resources/conferences.rb', line 329

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)


277
278
279
280
281
# File 'lib/plivo/resources/conferences.rb', line 277

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