Class: Plivo::Resources::ComplianceDocumentsInterface

Inherits:
Base::ResourceInterface show all
Defined in:
lib/plivo/resources/regulatory_compliance.rb

Constant Summary

Constants included from Utils

Utils::TYPE_WHITELIST

Instance Method Summary collapse

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, resource_list_json = nil) ⇒ ComplianceDocumentsInterface

Returns a new instance of ComplianceDocumentsInterface.



245
246
247
248
249
250
# File 'lib/plivo/resources/regulatory_compliance.rb', line 245

def initialize(client, resource_list_json = nil)
  @_name = 'ComplianceDocument'
  @_resource_type = ComplianceDocument
  @_identifier_string = 'compliance_document'
  super
end

Instance Method Details

#create(end_user_id: nil, document_type_id: nil, alias_: nil, file: nil, **options) ⇒ ComplianceDocument

Create a ComplianceDocument

Parameters:

  • end_user_id (String) (defaults to: nil)
  • document_type_id (String) (defaults to: nil)
  • alias_ (String) (defaults to: nil)
  • file (String) (defaults to: nil)
  • options (Hash)

Returns:



307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
# File 'lib/plivo/resources/regulatory_compliance.rb', line 307

def create(end_user_id: nil , document_type_id: nil, alias_: nil, file: nil, **options)
  valid_param?(:end_user_id, end_user_id, [String, Symbol], true)
  valid_param?(:document_type_id, document_type_id, [String, Symbol], true)
  valid_param?(:alias, :alias_, [String, Symbol], true)

  params = {
    end_user_id: end_user_id,
    document_type_id: document_type_id,
    alias: alias_
  }

  if !options.nil?
    valid_param?(:options, options, Hash, false) 
    options.each do |key, value|
      if valid_param?(key, value, [String, Symbol], false)
        params[key] = value
      end
    end
  end

  upload(file, params) if !file.nil?

  perform_create(params, use_multipart_conn: true)
end

#delete(compliance_document_id) ⇒ Object

Delete a ComplianceDocument

Parameters:

  • compliance_document_id (String)


352
353
354
355
# File 'lib/plivo/resources/regulatory_compliance.rb', line 352

def delete(compliance_document_id)
  valid_param?(:compliance_document_id, compliance_document_id, [String, Symbol], true)
  ComplianceDocument.new(@_client, resource_id: compliance_document_id).delete
end

#get(compliance_document_id) ⇒ ComplianceDocument

Get a ComplianceDocument

Parameters:

  • compliance_document_id (String)

Returns:



255
256
257
258
# File 'lib/plivo/resources/regulatory_compliance.rb', line 255

def get(compliance_document_id)
  valid_param?(:compliance_document_id, compliance_document_id, [String, Symbol], true)
  perform_get(compliance_document_id)
end

#list(options = nil) ⇒ Hash

List all ComplianceDocuments

Parameters:

  • options (Hash) (defaults to: nil)

    a customizable set of options

Options Hash (options):

  • :options (Hash)
  • :offset (Int)
  • :limit (Int)

Returns:

  • (Hash)


265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
# File 'lib/plivo/resources/regulatory_compliance.rb', line 265

def list(options = nil)
  return perform_list if options.nil?
  valid_param?(:options, options, Hash, false)

  params = {}

  params_expected = %i[ end_user_id document_type_id ]
  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?(: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

#update(compliance_document_id, options = nil) ⇒ Object

Update a ComplianceDocument return [ComplianceDocument] ComplianceDocument

Parameters:

  • compliance_document_id (String)
  • options (Hash) (defaults to: nil)


336
337
338
339
340
341
342
343
344
345
346
347
348
# File 'lib/plivo/resources/regulatory_compliance.rb', line 336

def update(compliance_document_id, options = nil)
  valid_param?(:compliance_document_id, compliance_document_id, [String, Symbol], true)
  valid_param?(:options, options, Hash, true) if !options.nil?
  params = {}

  options.each do |key, value|
    params[key] = value
  end

  upload(params[:file], params) if params.key?(:file)

  ComplianceDocument.new(@_client, resource_id: compliance_document_id).update(params)
end