class Plivo::Resources::ComplianceApplicationsInterface

Public Class Methods

new(client, resource_list_json = nil) click to toggle source
Calls superclass method Plivo::Base::ResourceInterface::new
# File lib/plivo/resources/regulatory_compliance.rb, line 470
def initialize(client, resource_list_json = nil)
  @_name = 'ComplianceApplication'
  @_resource_type = ComplianceApplication
  @_identifier_string = 'compliance_application'
  super
end

Public Instance Methods

create(compliance_requirement_id: nil, end_user_id: nil, alias_: nil, document_ids: nil, end_user_type: nil, country_iso2: nil, number_type: nil ) click to toggle source

Create a ComplianceApplication @param [String] compliance_requirement_id @param [String] end_user_id @param [String] alias_ @param [Array] document_ids @param [String] end_user_type @param [String] country_iso2 @param [String] number_type @return [ComplianceApplication] ComplianceApplication

# File lib/plivo/resources/regulatory_compliance.rb, line 538
def create(compliance_requirement_id: nil, end_user_id: nil, alias_: nil,
  document_ids: nil,
  end_user_type: nil,
  country_iso2: nil,
  number_type: nil
  )
  valid_param?(:compliance_requirement_id, compliance_requirement_id, [String, Symbol], false)
  valid_param?(:end_user_id, end_user_id, [String, Symbol], false)
  valid_param?(:alias_, alias_, [String, Symbol], false)
  valid_param?(:country_iso2, country_iso2, [String, Symbol], false)
  valid_param?(:number_type, number_type, [String, Symbol], false)
  valid_param?(:document_ids, document_ids, [Array], false)
  if !document_ids.nil?
    document_ids.each do |document_id|
      valid_param?(:document_id, document_id, [String, Symbol], true)
    end
  end

  if !end_user_type.nil?
    end_user_type = end_user_type.downcase
    valid_param?(:end_user_type, end_user_type, [String, Symbol], false, %w[business individual])
  end

  params = {
    compliance_requirement_id: compliance_requirement_id,
    end_user_id: end_user_id,
    end_user_type: end_user_type,
    country_iso2: country_iso2,
    number_type: number_type,
    document_ids: document_ids,
    alias: alias_
  }.delete_if { |key, value| value.nil? }

  perform_create(params, false)
end
delete(compliance_application_id) click to toggle source

Delete a ComplianceApplication @param [String] compliance_application_id

# File lib/plivo/resources/regulatory_compliance.rb, line 596
def delete(compliance_application_id)
  valid_param?(:compliance_application_id, compliance_application_id, [String, Symbol], true)
  ComplianceApplication.new(@_client,
                  resource_id: compliance_application_id).delete
end
get(compliance_application_id) click to toggle source

Get a ComplianceApplication @param [String] compliance_application_id @return [ComplianceApplication] ComplianceApplication

# File lib/plivo/resources/regulatory_compliance.rb, line 480
def get(compliance_application_id)
  valid_param?(:compliance_application_id, compliance_application_id, [String, Symbol], true)
  perform_get(compliance_application_id)
end
list(options = nil) click to toggle source

List all ComplianceApplications @option options [Hash] :options @option options [Int] :offset @option options [Int] :limit @return [Hash]

# File lib/plivo/resources/regulatory_compliance.rb, line 490
def list(options = nil)
  return perform_list if options.nil?
  valid_param?(:options, options, Hash, true)

  params = {}
  params_expected = %i[  end_user_id country_iso2 number_type status ]
  params_expected.each do |param|
    if options.key?(param) &&
       valid_param?(param, options[param], [String, Symbol], false)
      params[param] = options[param]
    end
  end

  if options.key?(:end_user_type) &&
    valid_param?(:end_user_type, options[:end_user_type].capitalize, [String, Symbol], false, %w[Business Individual])
    params[:end_user_type] = options[:end_user_type].capitalize
  end

  if options.key?(:alias) && valid_param?(:alias, options[:alias],[String, Symbol], false)
    params[:alias] = options[:alias]
  end

  %i[offset limit].each do |param|
    if options.key?(param) && valid_param?(param, options[param],
                                           [Integer], true)
      params[param] = options[param]
    end
  end

  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

  perform_list(params)
end
submit(compliance_application_id) click to toggle source

Submit a ComplianceApplication @param [String] compliance_application_id

# File lib/plivo/resources/regulatory_compliance.rb, line 604
def submit(compliance_application_id)
  valid_param?(:compliance_application_id, compliance_application_id, [String, Symbol], true)
  perform_submit(compliance_application_id)
end
update(compliance_application_id, document_ids) click to toggle source

Update a ComplianceApplication @param [String] compliance_application_id @param [Array] document_ids @return [ComplianceApplication] ComplianceApplication

# File lib/plivo/resources/regulatory_compliance.rb, line 578
def update(compliance_application_id, document_ids)
  valid_param?(:compliance_application_id, compliance_application_id, [String, Symbol], true)
  valid_param?(:document_ids, document_ids, [Array], true)
  document_ids.each do |document_id|
    valid_param?(:document_id, document_id, [String, Symbol], true)
  end

  params = {
    compliance_application_id: compliance_application_id,
    document_ids: document_ids
  }

  ComplianceApplication.new(@_client,
                  resource_id: compliance_application_id).update(params)
end