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.



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

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



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

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

#kick_participantObject



327
328
329
# File 'lib/plivo/resources/multipartycalls.rb', line 327

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

#pause_participant_recordingObject



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

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

#resume_participant_recordingObject



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

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

#start_participant_recording(file_format = 'mp3', status_callback_url = nil, status_callback_method = 'POST') ⇒ Object



291
292
293
294
295
296
297
298
299
300
301
302
# File 'lib/plivo/resources/multipartycalls.rb', line 291

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

  params = {}
  params[:file_format] = file_format.downcase unless file_format.nil?
  params[:status_callback_url] = status_callback_url unless status_callback_url.nil?
  params[:status_callback_method] = status_callback_method.upcase unless status_callback_method.nil?

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

#stop_participant_recordingObject



304
305
306
# File 'lib/plivo/resources/multipartycalls.rb', line 304

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

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



316
317
318
319
320
321
322
323
324
325
# File 'lib/plivo/resources/multipartycalls.rb', line 316

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