class Plivo::Resources::ComplianceDocumentsInterface
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 245 def initialize(client, resource_list_json = nil) @_name = 'ComplianceDocument' @_resource_type = ComplianceDocument @_identifier_string = 'compliance_document' super end
Public Instance Methods
create(end_user_id: nil , document_type_id: nil, alias_: nil, file: nil, **options)
click to toggle source
Create a ComplianceDocument
@param [String] end_user_id @param [String] document_type_id @param [String] alias_ @param [String] file @param [Hash] options @return [ComplianceDocument] ComplianceDocument
# 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)
click to toggle source
Delete a ComplianceDocument
@param [String] compliance_document_id
# 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)
click to toggle source
Get a ComplianceDocument
@param [String] compliance_document_id @return [ComplianceDocument] ComplianceDocument
# 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)
click to toggle source
List all ComplianceDocuments @option options [Hash] :options @option options [Int] :offset @option options [Int] :limit @return [Hash]
# 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)
click to toggle source
Update a ComplianceDocument
@param [String] compliance_document_id @param [Hash] options return [ComplianceDocument] ComplianceDocument
# 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
Private Instance Methods
upload(filepath, params)
click to toggle source
# File lib/plivo/resources/regulatory_compliance.rb, line 359 def upload(filepath, params) file_extension = filepath.split('.')[-1] content_type = case file_extension when 'jpeg' then 'image/jpeg' when 'jpg' then 'image/jpeg' when 'png' then 'image/png' when 'pdf' then 'application/pdf' else raise_invalid_request("#{file_extension} is not supported for upload") end params[:file] = Faraday::UploadIO.new(filepath, content_type) end