Class: Plivo::Resources::MultiPartyCallParticipant

Inherits:
Base::SecondaryResource show all
Defined in:
lib/plivo/resources/multipartycalls.rb

Constant Summary

Constants included from Utils

Utils::TYPE_WHITELIST

Instance Attribute Summary

Attributes inherited from Base::SecondaryResource

#secondary_id

Attributes inherited from Base::Resource

#id

Instance Method Summary collapse

Methods inherited from Base::SecondaryResource

#configure_secondary_options, #configure_secondary_resource_uri, #secondary_parse_and_set

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, options = nil) ⇒ MultiPartyCallParticipant

Returns a new instance of MultiPartyCallParticipant.



277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
# File 'lib/plivo/resources/multipartycalls.rb', line 277

def initialize(client, options = nil)
  @_name = 'MultiPartyCall'
  @_identifier_string = 'mpc_uuid'
  @_secondary_name = 'Participant'
  @_secondary_identifier_string = 'member_id'
  super
  @_is_voice_request = true
  if options.key? :multi_party_prefix
    @id = options[:multi_party_prefix] + '_' + @id
  elsif @id.split('_').size > 1
    nil
  else
    @id = 'uuid_' + @id
  end
  configure_secondary_resource_uri
end

Instance Method Details

#get_participantObject



334
335
336
# File 'lib/plivo/resources/multipartycalls.rb', line 334

def get_participant
  perform_action_apiresponse(nil,'GET',nil,false)
end

#kick_participantObject



330
331
332
# File 'lib/plivo/resources/multipartycalls.rb', line 330

def kick_participant
  perform_action_apiresponse(nil, 'DELETE', nil, true)
end

#pause_participant_recordingObject



311
312
313
# File 'lib/plivo/resources/multipartycalls.rb', line 311

def pause_participant_recording
  perform_action_apiresponse('Record/Pause', 'POST')
end

#resume_participant_recordingObject



315
316
317
# File 'lib/plivo/resources/multipartycalls.rb', line 315

def resume_participant_recording
  perform_action_apiresponse('Record/Resume', 'POST')
end

#start_participant_recording(file_format = 'mp3', recording_callback_url = nil, recording_callback_method = 'POST') ⇒ Object



294
295
296
297
298
299
300
301
302
303
304
305
# File 'lib/plivo/resources/multipartycalls.rb', line 294

def start_participant_recording(file_format = 'mp3', recording_callback_url = nil, recording_callback_method='POST')
  valid_param?(:file_format, file_format, String, false , %w[mp3 wav])
  valid_url?(:recording_callback_url, recording_callback_url, false) unless recording_callback_url.nil?
  valid_param?(:recording_callback_method, recording_callback_method.upcase,String, false, %w[GET POST])

  params = {}
  params[:file_format] = file_format.downcase unless file_format.nil?
  params[:recording_callback_url] = recording_callback_url unless recording_callback_url.nil?
  params[:recording_callback_method] = recording_callback_method.upcase unless recording_callback_method.nil?

  perform_action_apiresponse('Record', 'POST', params, true)
end

#stop_participant_recordingObject



307
308
309
# File 'lib/plivo/resources/multipartycalls.rb', line 307

def stop_participant_recording
  perform_action_apiresponse('Record', 'DELETE')
end

#update_participant(coach_mode = nil, mute = nil, hold = nil) ⇒ Object



319
320
321
322
323
324
325
326
327
328
# File 'lib/plivo/resources/multipartycalls.rb', line 319

def update_participant(coach_mode = nil, mute= nil, hold = nil)
  valid_param?(:coach_mode, coach_mode, [TrueClass, FalseClass], false) unless coach_mode.nil?
  valid_param?(:mute, mute, [TrueClass, FalseClass], false) unless mute.nil?
  valid_param?(:hold, hold, [TrueClass, FalseClass], false) unless hold.nil?
  params = {}
  params[:coach_mode] = coach_mode unless coach_mode.nil?
  params[:mute] = mute unless mute.nil?
  params[:hold] = hold unless hold.nil?
  perform_action_apiresponse(nil, 'POST', params, true )
end