class Plivo::Resources::MaskingSession
Public Class Methods
new(client, options = nil)
click to toggle source
Calls superclass method
Plivo::Base::Resource::new
# File lib/plivo/resources/maskingsession.rb, line 5 def initialize(client, options = nil) @_name = 'Masking/Session' @_identifier_string = 'session_uuid' super @_is_voice_request = true end
Public Instance Methods
delete()
click to toggle source
# File lib/plivo/resources/maskingsession.rb, line 52 def delete perform_delete end
to_s()
click to toggle source
# File lib/plivo/resources/maskingsession.rb, line 56 def to_s { first_party: @first_party, second_party: @second_party, virtual_number: @virtual_number, status: @status, initiate_call_to_first_party: @initiate_call_to_first_party, session_uuid: @session_uuid, callback_url: @callback_url, callback_method: @callback_method, created_time: @created_time, modified_time: @modified_time, expiry_time: @expiry_time, duration: @duration, amount: @amount, call_time_limit: @call_time_limit, ring_timeout: @ring_timeout, first_party_play_url: @first_party_play_url, second_party_play_url: @second_party_play_url, record: @record, record_file_format: @record_file_format, recording_callback_url: @recording_callback_url, recording_callback_method: @recording_callback_method, interaction: @interaction, total_call_amount: @total_call_amount, total_call_count: @total_call_count, total_call_billed_duration: @total_call_billed_duration, total_session_amount: @total_session_amount, last_interaction_time: @last_interaction_time, is_pin_authentication_required: @is_pin_authentication_required, generate_pin: @generate_pin, generate_pin_length: @generate_pin_length, second_party_pin: @second_party_pin, pin_prompt_play: @pin_prompt_play, pin_retry: @pin_retry, pin_retry_wait: @pin_retry_wait, incorrect_pin_play: @incorrect_pin_play, unknown_caller_play: @unknown_caller_play, force_pin_authentication: @force_pin_authentication, virtual_number_cooloff_period: @virtual_number_cooloff_period, create_session_with_single_party: @create_session_with_single_party }.to_s end
update(options = nil)
click to toggle source
# File lib/plivo/resources/maskingsession.rb, line 12 def update(options = nil) return if options.nil? valid_param?(:options, options, Hash, true) params = {} params_expected = %i[first_party second_party session_expiry call_time_limit record record_file_format recording_callback_url callback_url callback_method ring_timeout first_party_play_url second_party_play_url recording_callback_method subaccount geomatch] params_expected.each do |param| if options.key?(param) && valid_param?(param, options[param], [String, Symbol, TrueClass, FalseClass], true) params[param] = options[param] end end updated_session = perform_masking_update(params) session_data = updated_session.instance_variables.map do |var| [var[1..-1].to_sym, updated_session.instance_variable_get(var)] end.to_h relevant_keys = %i[api_id message session] filtered_session_data = session_data.select { |key, _| relevant_keys.include?(key) } if filtered_session_data[:session] session_instance = filtered_session_data[:session] session_data = session_instance.map do |key, value| [key.to_sym, value] end.to_h # Extract relevant keys from session session_relevant_keys = %i[first_party second_party virtual_number status initiate_call_to_first_party session_uuid callback_url callback_method created_time modified_time expiry_time duration amount call_time_limit ring_timeout first_party_play_url second_party_play_url record record_file_format recording_callback_url recording_callback_method interaction total_call_amount total_call_count total_call_billed_duration total_session_amount last_interaction_time unknown_caller_play is_pin_authentication_required generate_pin generate_pin_length first_party_pin second_party_pin pin_prompt_play pin_retry pin_retry_wait incorrect_pin_play] filtered_session_data[:session] = session_data.select { |key, _| session_relevant_keys.include?(key) } end filtered_session_data end