class Plivo::Resources::MaskingSessionInterface

Public Class Methods

new(client, resource_list_json = nil) click to toggle source
Calls superclass method Plivo::Base::ResourceInterface::new
# File lib/plivo/resources/maskingsession.rb, line 102
def initialize(client, resource_list_json = nil)
  @_name = 'Masking/Session'
  @_resource_type = MaskingSession
  @_identifier_string = 'session_uuid'
  super
  @_is_voice_request = true
end

Public Instance Methods

create(first_party: nil, second_party: nil, session_expiry: nil, call_time_limit: nil, record: nil, record_file_format: nil, recording_callback_url: nil, initiate_call_to_first_party: nil, callback_url: nil, callback_method: nil, ring_timeout: nil, first_party_play_url: nil, second_party_play_url: nil, recording_callback_method: nil, is_pin_authentication_required: nil, generate_pin: nil, generate_pin_length: nil, first_party_pin: nil, second_party_pin: nil, pin_prompt_play: nil, pin_retry: nil, pin_retry_wait: nil, incorrect_pin_play: nil, unknown_caller_play: nil, subaccount: nil, geomatch: nil, force_pin_authentication: nil, virtual_number_cooloff_period: nil, create_session_with_single_party: nil) click to toggle source
# File lib/plivo/resources/maskingsession.rb, line 115
def create(first_party: nil, second_party: nil, session_expiry: nil, call_time_limit: nil, record: nil, record_file_format: nil,
           recording_callback_url: nil, initiate_call_to_first_party: nil, callback_url: nil, callback_method: nil, ring_timeout: nil,
           first_party_play_url: nil, second_party_play_url: nil, recording_callback_method: nil, is_pin_authentication_required: nil,
           generate_pin: nil, generate_pin_length: nil, first_party_pin: nil, second_party_pin: nil, pin_prompt_play: nil, pin_retry: nil,
           pin_retry_wait: nil, incorrect_pin_play: nil, unknown_caller_play: nil, subaccount: nil, geomatch: nil, force_pin_authentication: nil, virtual_number_cooloff_period: nil, create_session_with_single_party: nil)

  valid_param?(:first_party, first_party, [String, Symbol], false)
  valid_param?(:second_party, second_party, [String, Symbol], false)

  params = {}
  params[:first_party] = first_party unless first_party.nil?
  params[:second_party] = second_party  unless second_party.nil?
  params[:session_expiry] = session_expiry unless session_expiry.nil?
  params[:call_time_limit] = call_time_limit unless call_time_limit.nil?
  params[:record] = record unless record.nil?
  params[:record_file_format] = record_file_format unless record_file_format.nil?
  params[:recording_callback_url] = recording_callback_url unless recording_callback_url.nil?
  params[:initiate_call_to_first_party] = initiate_call_to_first_party unless initiate_call_to_first_party.nil?
  params[:callback_url] = callback_url unless callback_url.nil?
  params[:callback_method] = callback_method unless callback_method.nil?
  params[:ring_timeout] = ring_timeout unless ring_timeout.nil?
  params[:first_party_play_url] = first_party_play_url unless first_party_play_url.nil?
  params[:second_party_play_url] = second_party_play_url unless second_party_play_url.nil?
  params[:recording_callback_method] = recording_callback_method unless recording_callback_method.nil?
  params[:is_pin_authentication_required] = is_pin_authentication_required unless is_pin_authentication_required.nil?
  params[:generate_pin] = generate_pin unless generate_pin.nil?
  params[:generate_pin_length] = generate_pin_length unless generate_pin_length.nil?
  params[:first_party_pin] = first_party_pin unless first_party_pin.nil?
  params[:second_party_pin] = second_party_pin unless second_party_pin.nil?
  params[:pin_prompt_play] = pin_prompt_play unless pin_prompt_play.nil?
  params[:pin_retry] = pin_retry unless pin_retry.nil?
  params[:pin_retry_wait] = pin_retry_wait unless pin_retry_wait.nil?
  params[:incorrect_pin_play] = incorrect_pin_play unless incorrect_pin_play.nil?
  params[:unknown_caller_play] = unknown_caller_play unless unknown_caller_play.nil?
  params[:subaccount] = subaccount unless subaccount.nil?
  params[:geomatch] = geomatch unless geomatch.nil?
  params[:force_pin_authentication] = force_pin_authentication unless force_pin_authentication.nil?
  params[:virtual_number_cooloff_period] = virtual_number_cooloff_period unless virtual_number_cooloff_period.nil?
  params[:create_session_with_single_party] = create_session_with_single_party unless create_session_with_single_party.nil?
  perform_create(params)
end
delete(session_uuid) click to toggle source
# File lib/plivo/resources/maskingsession.rb, line 213
def delete(session_uuid)
  valid_param?(:session_uuid, session_uuid, [String, Symbol], true)
  MaskingSession.new(@_client, resource_id: session_uuid).delete
end
each() { |maskingsession| ... } click to toggle source
# File lib/plivo/resources/maskingsession.rb, line 203
def each
  maskingsession_list = list
  maskingsession_list[:objects].each { |maskingsession| yield maskingsession }
end
get(session_uuid) click to toggle source
# File lib/plivo/resources/maskingsession.rb, line 110
def get(session_uuid)
  valid_param?(:session_uuid, session_uuid, [String, Symbol], true)
  perform_get_with_response(session_uuid)
end
list(options = nil) click to toggle source
# File lib/plivo/resources/maskingsession.rb, line 157
def list(options = nil)
  return perform_list_with_response if options.nil?
  valid_param?(:options, options, Hash, true)

  raise_invalid_request("Offset can't be negative") if options.key?(:offset) && options[:offset] < 0

  if options.key?(:limit) && (options[:limit] > 20 || options[:limit] <= 0)
    raise_invalid_request('The maximum number of results that can be '\
                            "fetched is 20. limit can't be more than 20 or less than 1")
  end

  params = %i[
    first_party
    second_party
    virtual_number
    status
    created_time
    created_time__lt
    created_time__gt
    created_time__lte
    created_time__gte
    expiry_time
    expiry_time__lt
    expiry_time__gt
    expiry_time__lte
    expiry_time__gte
    duration
    duration__lt
    duration__gt
    duration__lte
    duration__gte
    limit
    offset
    subaccount
  ].reduce({}) do |result_hash, param|
    if options.key?(param)
      if valid_param?(param, options[param], [String, Symbol], true)
        result_hash[param] = options[param]
      end
    end
    result_hash
  end

  perform_list_with_response(params)
end
update(session_uuid, options = nil) click to toggle source
# File lib/plivo/resources/maskingsession.rb, line 208
def update(session_uuid, options = nil)
  valid_param?(:session_uuid, session_uuid, [String, Symbol], true)
  MaskingSession.new(@_client, resource_id: session_uuid).update(options)
end