class Tenios::API::Verification
Constants
- DOCUMENT_TYPES
- OPTIONS
- PDF_FILE_SIGNATURE
Attributes
client[R]
Public Class Methods
new(client)
click to toggle source
# File lib/tenios/api/verification.rb, line 10 def initialize(client) @client = client end
Public Instance Methods
create(options)
click to toggle source
# File lib/tenios/api/verification.rb, line 23 def create(options) payload = build_payload(options) client.post("/verification/create", **payload) end
Private Instance Methods
build_option(options)
click to toggle source
# File lib/tenios/api/verification.rb, line 47 def build_option(options) lambda do |name| value = options.fetch(name) validate = :"validate_#{name}!" send validate, value if respond_to? validate, true [name, value] end end
build_payload(options)
click to toggle source
# File lib/tenios/api/verification.rb, line 42 def build_payload(options) to_option = build_option(options) OPTIONS.map(&to_option).to_h end
validate_document_data!(data)
click to toggle source
# File lib/tenios/api/verification.rb, line 65 def validate_document_data!(data) return if data.start_with? PDF_FILE_SIGNATURE raise ArgumentError, "invalid document_data: should be a base64 encoded pdf file" end
validate_document_type!(type)
click to toggle source
# File lib/tenios/api/verification.rb, line 56 def validate_document_type!(type) return if DOCUMENT_TYPES.include? type raise ArgumentError, "invalid document_type: #{type}" end