kycaid 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: 745164f9d1f5e40a02fd4e78dfa205895cdfe79cfc49d45724854d57c63614d7
4
+ data.tar.gz: 44786d6cea64b1d7936e93ffbc63ab4e3d0b05a2971cb7a920f6a884c4cc058e
5
+ SHA512:
6
+ metadata.gz: 877880b180913660115721c50ca9f058750ef92c8b36b23d5d1afb13d2c8462d29fd618a85d494e2985d49ca3bc434ed2ef10ffa34da9bf31a3b24d6728253e9
7
+ data.tar.gz: 6db8b5e99d63d5ba21b95efb4934c945ab909c904c6caad9e0973cabcc7972783d93a044b842f641d36dfc09fb0b4099837d1cf40fbcaa06257eaf53e1ac7d7f
@@ -0,0 +1,27 @@
1
+ ---
2
+ kind: pipeline
3
+ name: default
4
+
5
+ steps:
6
+ - name: Run rspec
7
+ image: ruby:2.6
8
+ commands:
9
+ - gem install bundler:2.1.4
10
+ - bundle install
11
+ - bundle exec rspec
12
+
13
+ - name: Release gems
14
+ image: ruby:2.6
15
+ environment:
16
+ GEM_CREDENTIALS:
17
+ from_secret: gem_credentials
18
+ commands:
19
+ - mkdir -p ~/.gem
20
+ - echo $GEM_CREDENTIALS | base64 -d > ~/.gem/credentials
21
+ - chmod 0600 ~/.gem/credentials
22
+ - gem build kycaid.gemspec
23
+ - gem push kycaid*.gem
24
+
25
+ trigger:
26
+ event:
27
+ - push
@@ -0,0 +1,11 @@
1
+ /.bundle/
2
+ /.yardoc
3
+ /_yardoc/
4
+ /coverage/
5
+ /doc/
6
+ /pkg/
7
+ /spec/reports/
8
+ /tmp/
9
+
10
+ # rspec failure tracking
11
+ .rspec_status
data/.rspec ADDED
@@ -0,0 +1,3 @@
1
+ --format documentation
2
+ --color
3
+ --require spec_helper
@@ -0,0 +1,6 @@
1
+ ---
2
+ language: ruby
3
+ cache: bundler
4
+ rvm:
5
+ - 2.6.5
6
+ before_install: gem install bundler -v 2.1.4
data/Gemfile ADDED
@@ -0,0 +1,4 @@
1
+ source "https://rubygems.org"
2
+
3
+ # Specify your gem's dependencies in kycaid.gemspec
4
+ gemspec
@@ -0,0 +1,68 @@
1
+ PATH
2
+ remote: .
3
+ specs:
4
+ kycaid (0.1.0)
5
+ faraday
6
+ json
7
+
8
+ GEM
9
+ remote: https://rubygems.org/
10
+ specs:
11
+ addressable (2.7.0)
12
+ public_suffix (>= 2.0.2, < 5.0)
13
+ coderay (1.1.2)
14
+ crack (0.4.3)
15
+ safe_yaml (~> 1.0.0)
16
+ diff-lcs (1.3)
17
+ docile (1.3.2)
18
+ faraday (1.0.1)
19
+ multipart-post (>= 1.2, < 3)
20
+ hashdiff (1.0.1)
21
+ json (2.3.0)
22
+ method_source (1.0.0)
23
+ multipart-post (2.1.1)
24
+ pry (0.13.1)
25
+ coderay (~> 1.1)
26
+ method_source (~> 1.0)
27
+ public_suffix (4.0.5)
28
+ rake (13.0.1)
29
+ rspec (3.9.0)
30
+ rspec-core (~> 3.9.0)
31
+ rspec-expectations (~> 3.9.0)
32
+ rspec-mocks (~> 3.9.0)
33
+ rspec-core (3.9.1)
34
+ rspec-support (~> 3.9.1)
35
+ rspec-expectations (3.9.1)
36
+ diff-lcs (>= 1.2.0, < 2.0)
37
+ rspec-support (~> 3.9.0)
38
+ rspec-mocks (3.9.1)
39
+ diff-lcs (>= 1.2.0, < 2.0)
40
+ rspec-support (~> 3.9.0)
41
+ rspec-support (3.9.2)
42
+ safe_yaml (1.0.5)
43
+ simplecov (0.17.1)
44
+ docile (~> 1.1)
45
+ json (>= 1.8, < 3)
46
+ simplecov-html (~> 0.10.0)
47
+ simplecov-html (0.10.2)
48
+ vcr (5.1.0)
49
+ webmock (3.8.3)
50
+ addressable (>= 2.3.6)
51
+ crack (>= 0.3.2)
52
+ hashdiff (>= 0.4.0, < 2.0.0)
53
+
54
+ PLATFORMS
55
+ ruby
56
+
57
+ DEPENDENCIES
58
+ bundler
59
+ kycaid!
60
+ pry
61
+ rake (~> 13.0)
62
+ rspec (~> 3.0)
63
+ simplecov
64
+ vcr
65
+ webmock
66
+
67
+ BUNDLED WITH
68
+ 2.1.4
@@ -0,0 +1,41 @@
1
+ # Ruby KYCAID
2
+
3
+ Ruby gem to interact with KYC provider https://www.kycaid.com/
4
+
5
+ ## Installation
6
+
7
+ Add this line to your application's Gemfile:
8
+
9
+ ```ruby
10
+ gem 'ruby-kycaid'
11
+ ```
12
+
13
+ And then execute:
14
+
15
+ $ bundle install
16
+
17
+ Or install it yourself as:
18
+
19
+ $ gem install ruby-kycaid
20
+
21
+ ## Usage
22
+
23
+ Configure the gem using your issued KYCAID credentials in an initializer file. For example, in config/initializers/kycaid.rb:
24
+
25
+ ```
26
+ KYCAID.configure do |config|
27
+ config.authorization_token = ENV['KYCAID_AUTHORIZATION_TOKEN']
28
+ config.sandbox_mode = ENV['KYCAID_SANDBOX_MODE']
29
+ end
30
+ ```
31
+
32
+ ## Development
33
+
34
+ After checking out the repo, run `bin/setup` to install dependencies. Then, run `rake spec` to run the tests. You can also run `bin/console` for an interactive prompt that will allow you to experiment.
35
+
36
+ To install this gem onto your local machine, run `bundle exec rake install`. To release a new version, update the version number in `version.rb`, and then run `bundle exec rake release`, which will create a git tag for the version, push git commits and tags, and push the `.gem` file to [rubygems.org](https://rubygems.org).
37
+
38
+ ## Contributing
39
+
40
+ Bug reports and pull requests are welcome on GitHub at https://github.com/openware/ruby-kycaid.
41
+
@@ -0,0 +1,6 @@
1
+ require "bundler/gem_tasks"
2
+ require "rspec/core/rake_task"
3
+
4
+ RSpec::Core::RakeTask.new(:spec)
5
+
6
+ task :default => :spec
@@ -0,0 +1,14 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require "bundler/setup"
4
+ require "kycaid"
5
+
6
+ # You can add fixtures and/or initialization code here to make experimenting
7
+ # with your gem easier. You can also use a different console, if you like.
8
+
9
+ # (If you use this, don't forget to add pry to your Gemfile!)
10
+ # require "pry"
11
+ # Pry.start
12
+
13
+ require "irb"
14
+ IRB.start(__FILE__)
@@ -0,0 +1,8 @@
1
+ #!/usr/bin/env bash
2
+ set -euo pipefail
3
+ IFS=$'\n\t'
4
+ set -vx
5
+
6
+ bundle install
7
+
8
+ # Do any other automated setup that you need to do here
@@ -0,0 +1,35 @@
1
+ require_relative 'lib/kycaid/version'
2
+
3
+ Gem::Specification.new do |spec|
4
+ spec.name = "kycaid"
5
+ spec.version = KYCAID::VERSION
6
+ spec.authors = ["Openware"]
7
+ spec.email = ["hello@openware.com"]
8
+
9
+ spec.summary = %q{Openware ruby library to interact with KYCAID.}
10
+ spec.description = %q{Support of core functionality of KYC provider}
11
+ spec.homepage = "https://www.openware.com/"
12
+ spec.required_ruby_version = Gem::Requirement.new(">= 2.3.0")
13
+
14
+ spec.metadata["homepage_uri"] = spec.homepage
15
+ spec.metadata["source_code_uri"] = "https://github.com/openware/kycaid"
16
+ spec.metadata["changelog_uri"] = "https://github.com/openware/kycaid/blob/master/CHANGELOG.md"
17
+
18
+ spec.files = Dir.chdir(File.expand_path('..', __FILE__)) do
19
+ `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
20
+ end
21
+ spec.bindir = "exe"
22
+ spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
23
+ spec.require_paths = ["lib"]
24
+
25
+ spec.add_development_dependency "bundler"
26
+ spec.add_development_dependency "rake", "~> 13.0"
27
+ spec.add_development_dependency "rspec", "~> 3.0"
28
+ spec.add_development_dependency "vcr"
29
+ spec.add_development_dependency "webmock"
30
+ spec.add_development_dependency "pry"
31
+ spec.add_development_dependency "simplecov"
32
+
33
+ spec.add_dependency "faraday"
34
+ spec.add_dependency "json"
35
+ end
@@ -0,0 +1,45 @@
1
+ require "faraday"
2
+ require "json"
3
+ require "ostruct"
4
+
5
+ require "kycaid/version"
6
+ require "kycaid/configuration"
7
+ require "kycaid/client"
8
+ require "kycaid/response"
9
+ require "kycaid/applicant"
10
+ require "kycaid/file"
11
+ require "kycaid/document"
12
+ require "kycaid/address"
13
+ require "kycaid/verification"
14
+
15
+ # KYCAID module contains wrappers around KYCAID API.
16
+ # See https://kycaid.com/
17
+ module KYCAID
18
+
19
+ # Error is generic error used in this gem.
20
+ # All defined errors are inherited from Error.
21
+ class Error < StandardError; end
22
+
23
+ # Unauthorized is raised when 403 status returned,
24
+ # when request is correct but refuses to authorize it.
25
+ # Check your token or contact KYCAID support.
26
+ class Unauthorized < Error; end
27
+
28
+ class << self
29
+ attr_accessor :configuration
30
+ end
31
+
32
+ # Coinfigure allows to change gem preferences. Check Configuration for the list of options.
33
+ # ==== Example
34
+ #
35
+ # KYCAID.configure do |c|
36
+ # c.authorization_token = '1MAR3SP3CTABL3t0k3N'
37
+ # c.sandbox_mode = false
38
+ # c.api_endpoint = 'https://api.kycaid.com/'
39
+ # c.raise_errors = true
40
+ # end
41
+ def self.configure
42
+ self.configuration ||= Configuration.new
43
+ yield(configuration) if block_given?
44
+ end
45
+ end
@@ -0,0 +1,30 @@
1
+ module KYCAID
2
+ # Address is wrapper for KYCAID Address endpoints.
3
+ class Address < Response
4
+ extend Client
5
+
6
+ # Creates new address, params is a Hash.
7
+ # * +:applicant_id+ - _required_ The applicant’s unique identificator that received in response of create an applicant.
8
+ # * +:type+ - _required_ The address type. Valid values are: +'REGISTERED', 'BUSINESS', 'ADDITIONAL'+.
9
+ # * +:country+ - The country of the applicants’s address. Example: GB (ISO 3166-2).
10
+ # * +:city+ - The city or town of the applicant’s address.
11
+ # * +:postal_code+ - The post or zip code of the applicant’s address.
12
+ # * +:full_address+ - The applicant’s full address.
13
+ #
14
+ # Returns Response object, conatining +address_id+.
15
+ def self.create(params)
16
+ response = KYCAID::Document.create(
17
+ {
18
+ front_file: params[:front_file],
19
+ applicant_id: params[:applicant_id],
20
+ type: 'ADDRESS_DOCUMENT'
21
+ }
22
+ )
23
+ return response unless response.errors.nil?
24
+
25
+ protected_params = params.slice(:country, :city, :postal_code, :full_address, :applicant_id, :type)
26
+
27
+ respond(post("/addresses", protected_params))
28
+ end
29
+ end
30
+ end
@@ -0,0 +1,34 @@
1
+ module KYCAID
2
+ # Applicant is wrapper for KYCAID Applicants endpoints.
3
+ class Applicant < Response
4
+ extend Client
5
+
6
+ # Creates new applicant, params is a Hash.
7
+ # * +:type+ - _required_ The applicant type. Valid values are PERSON or COMPANY.
8
+ # * +:first_name+ - _required_ The applicant’s first name.
9
+ # * +:last_name+ - _required_ The applicant’s last name.
10
+ # * +:dob+ - _required_ The applicant’s day of birth date. (ISO 8601, YYYY-MM-DD).
11
+ # * +:residence_country+ - _required_ The applicant’s current nationality. Example: GB (ISO 3166-2).
12
+ # * +:email+ - _required_ The applicant’s email address.
13
+ # * +:phone+ - _required_ The phone number of applicant.
14
+ #
15
+ # Returns Response object, conatining +applicant_id+.
16
+ def self.create(params)
17
+ protected_params = params.slice(:type, :first_name, :last_name, :dob, :residence_country, :email, :phone)
18
+ respond(post("/applicants", protected_params))
19
+ end
20
+
21
+ # Send get request to retrieve applicant by his ID.
22
+ #
23
+ # Returns Response object, conatining:
24
+ # * +:applicant_id+
25
+ # * +:first_name+
26
+ # * +:last_name+
27
+ # * +:dob+
28
+ # * +:residence_country+
29
+ # * +:email+
30
+ def self.fetch(applicant_id)
31
+ respond(get("/applicants/#{applicant_id}"))
32
+ end
33
+ end
34
+ end
@@ -0,0 +1,62 @@
1
+ module KYCAID
2
+ # Client contins REST API and handles content type and injecting Authorization token.
3
+ module Client
4
+ # Returns Faraday connection with authorization header containing token.
5
+ def conn
6
+ @conn ||= Faraday.new(url: KYCAID.configuration.api_endpoint).tap do |faraday|
7
+ faraday.authorization("Token", KYCAID.configuration.authorization_token)
8
+ end
9
+ end
10
+
11
+ # Returns Faraday connection for multipart data uploading with authorization header containing token.
12
+ def multipart_conn
13
+ @multipart_conn ||= Faraday.new(url: KYCAID.configuration.api_endpoint) do |faraday|
14
+ faraday.request :multipart
15
+ faraday.request :url_encoded
16
+ faraday.adapter Faraday.default_adapter
17
+ faraday.authorization("Token", KYCAID.configuration.authorization_token)
18
+ end
19
+ end
20
+
21
+ # Returns true if sandbox mode is set.
22
+ def sandbox?
23
+ KYCAID.configuration.sandbox_mode
24
+ end
25
+
26
+ # Performs a get request, adds sandbox flag to request.
27
+ def get(url, options={})
28
+ conn.get(url, options.merge(sandbox: sandbox?))
29
+ end
30
+
31
+ # Performs a post request, adds sandbox flag to request.
32
+ def post(url, params={})
33
+ conn.post(url, params.merge(sandbox: sandbox?))
34
+ end
35
+
36
+ # Performs a patch request, adds sandbox flag to request.
37
+ def patch(url, params={})
38
+ conn.patch(url, params.merge(sandbox: sandbox?))
39
+ end
40
+
41
+ # Performs a post request with multipart data, adds sandbox flag to request.
42
+ def file_post(url, params={})
43
+ multipart_conn.post(url, file_payload(params))
44
+ end
45
+
46
+ # Performs a put request with multipart data, adds sandbox flag to request.
47
+ def file_put(url, params={})
48
+ multipart_conn.put(url, file_payload(params))
49
+ end
50
+
51
+ # Returns multipart data body params.
52
+ def file_payload(params={})
53
+ file = Faraday::UploadIO.new(
54
+ params[:tempfile].path,
55
+ params[:content_type],
56
+ params[:original_filename]
57
+ )
58
+ payload = { :file => file }.merge(sandbox: sandbox?)
59
+ payload
60
+ end
61
+ end
62
+ end
@@ -0,0 +1,21 @@
1
+ module KYCAID
2
+ # Configuration contains KYCAID gem preferences.
3
+ # * +:authorization_token+ - KYCAID acces token.
4
+ # * +:sandbox_mode+ - run requests in sandbox mode.
5
+ # * +:api_endpoint+ - KYCAID service endpoint.
6
+ # * +:raise_errors+ - if set to true, KYCAID errors (like unauthorized) will be raised, otherwise access errors by Response#errors.
7
+ class Configuration
8
+ attr_accessor :authorization_token
9
+ attr_accessor :sandbox_mode
10
+ attr_accessor :api_endpoint
11
+ attr_accessor :raise_errors
12
+
13
+ # Initizes configuration with default values.
14
+ def initialize
15
+ @authorization_token = "d9883415047de3439328df17b0310569669a"
16
+ @sandbox_mode = true
17
+ @api_endpoint = "https://api.kycaid.com/"
18
+ @raise_errors = false
19
+ end
20
+ end
21
+ end
@@ -0,0 +1,67 @@
1
+ module KYCAID
2
+ # Document is wrapper for KYCAID Documents endpoints.
3
+ class Document < Response
4
+ extend Client
5
+
6
+ # Creates +:front_file+ and +:back_file+ files (see File) and a document,referring to those files.
7
+ # * +:applicant_id+ - _required_ The applicant’s unique identificator that received in response of Applicant#create.
8
+ # * +:type+ - _required_ The document type. Valid values are: GOVERNMENT_ID, PASSPORT, DRIVERS_LICENSE, SELFIE_IMAGE,
9
+ # ADDRESS_DOCUMENT, FINANCIAL_DOCUMENT, TAX_ID_NUMBER, REGISTRATION_COMPANY, COMPANY_LEGAL_ADDRESS, AUTHORISED_PERSON,
10
+ # COMPANY_OWNERSHIP.
11
+ # * +:document_number+ - The unique number associated with document (e.g. passport number).
12
+ # * +:issue_date+ - The issue date of the document. (ISO 8601, YYYY-MM-DD).
13
+ # * +:expiry_date+ - The expiry date of the document. (ISO 8601, YYYY-MM-DD)
14
+ # * +:front_file+ - nested param to create a file.
15
+ # * +:back_file+ - nested param to create a file.
16
+ #
17
+ # Front file and Back file are a Hash:
18
+ # * +:tempfile+ - file to upload.
19
+ # * +:file_extension+ - file's extensions (f.e., .jpeg)
20
+ # * +:file_name+ - filename.
21
+ #
22
+ # Returns Response object, conatining +document_id+.
23
+ def self.create(params)
24
+ front_file_id = unless params[:front_file].nil?
25
+ front_file = file_params(params[:front_file])
26
+ return front_file unless front_file.errors.nil?
27
+
28
+ front_file.file_id
29
+ end
30
+
31
+ back_file_id = unless params[:back_file].nil?
32
+ back_file = file_params(params[:back_file])
33
+ return back_file unless back_file.errors.nil?
34
+
35
+ back_file.file_id
36
+ end
37
+
38
+ protected_params = params.slice(:applicant_id, :type, :document_number, :issue_date, :expiry_date)
39
+ .merge(front_side_id: front_file_id, back_side_id: back_file_id)
40
+
41
+ respond(post("/documents", protected_params.compact))
42
+ end
43
+
44
+ # Update document, params is a Hash.
45
+ # * +:type+ - see #create
46
+ # * +:document_number+ - see #create
47
+ # * +:issue_date+ - see #create
48
+ # * +:expiry_date+ - see #create
49
+ # * +:front_side_id+ - new File ID to associate document with.
50
+ # * +:back_side_id+ - new File ID to associate document with.
51
+ # Returns Response object, conatining +document_id+.
52
+ def self.update(params)
53
+ protected_params = params.slice(:type, :document_number, :issue_date, :expiry_date, :front_side_id, :back_side_id)
54
+ respond(patch("/documents/#{params[:id]}", protected_params))
55
+ end
56
+
57
+ # A helper to create associated file before creating document.
58
+ # Return a File Response object.
59
+ def self.file_params(params)
60
+ KYCAID::File.create(
61
+ tempfile: params[:tempfile],
62
+ content_type: "image/#{params[:file_extension]}",
63
+ original_filename: params[:file_name]
64
+ )
65
+ end
66
+ end
67
+ end
@@ -0,0 +1,28 @@
1
+ module KYCAID
2
+ # File is wrapper for KYCAID Files endpoints.
3
+ class File < Response
4
+ extend Client
5
+
6
+ # Creates new file.
7
+ # * +:tempfile+ - file to upload.
8
+ # * +:content_type+ - multipart data content type.
9
+ # * +:original_filename+ - filename.
10
+ #
11
+ # Returns Response object, conatining +file_id+.
12
+ def self.create(params)
13
+ respond(file_post("/files", params.slice(:tempfile, :content_type, :original_filename)))
14
+ end
15
+
16
+ # Updates a file.
17
+ # * +:file_id+ - file ID to update.
18
+ # * +:tempfile+ - file to upload.
19
+ # * +:content_type+ - multipart data content type.
20
+ # * +:original_filename+ - filename.
21
+ #
22
+ # Returns Response object, conatining +file_id+.
23
+ def self.update(params)
24
+ respond(file_put("/files/#{params[:file_id]}",
25
+ params.slice(:tempfile, :content_type, :original_filename)))
26
+ end
27
+ end
28
+ end
@@ -0,0 +1,32 @@
1
+ module KYCAID
2
+ # Response is an object to wrap parsed json response.
3
+ class Response < OpenStruct
4
+ def initialize(response)
5
+ super(response)
6
+ end
7
+
8
+ # * If response is not successful, set errors to array of detected errors.
9
+ # * If response is successful, errors in nil.
10
+ # * If raise_errors is set in configuration, will raise error if any.
11
+ def handle_error(err)
12
+ self.errors ||= []
13
+ self.errors << err
14
+
15
+ raise err if KYCAID.configuration.raise_errors
16
+
17
+ self
18
+ end
19
+
20
+ # Wraps JSON response into OpenStruct.
21
+ # Original response in stored in +raw_response+
22
+ def self.respond(response)
23
+ resp = new(JSON.parse(response.body))
24
+ resp.raw_response = response
25
+
26
+ resp.handle_error(Unauthorized.new(response.body)) if response.status == 403
27
+ resp.handle_error(Error.new(response.body)) unless response.success?
28
+
29
+ resp
30
+ end
31
+ end
32
+ end
@@ -0,0 +1,32 @@
1
+ module KYCAID
2
+ # Verification is wrapper for KYCAID Verifications endpoints.
3
+ class Verification < Response
4
+ extend Client
5
+
6
+ # Create a verification.
7
+ # * +:applicant_id+ - _required_ The applicant unique identificator that received in response of Applicant#create.
8
+ # * +:types+ - _required_ The verification types. Valid values are: DOCUMENT, FACIAL, ADDRESS, AML, FINANCIAL, VIDEO, COMPANY.
9
+ # * +:callback_url+ - _required_ URL on which the result will come.
10
+ #
11
+ # See https://docs.kycaid.com/#create-a-verification for more info.
12
+ #
13
+ # Returns Response object, conatining +verification_id+.
14
+ def self.create(params)
15
+ protected_params = params.slice(:applicant_id, :types, :callback_url)
16
+ respond(post("/verifications", protected_params))
17
+ end
18
+
19
+ # Retrieve a verification by it's id.
20
+ #
21
+ # Returns Response object, conatining:
22
+ # * +:verification_id+ - The verification’s unique identificator.
23
+ # * +:status+ - Status of verification. Possible values: +unused+, +pending+, +completed+.
24
+ # * +:verified+ - Result of verification. Possible values: +true+ or +false+.
25
+ # * +:verifications+ - VerificationsList object.
26
+ #
27
+ # See https://docs.kycaid.com/#retrieve-a-verification for more info.
28
+ def self.fetch(verification_id)
29
+ respond(get("/verifications/#{verification_id}"))
30
+ end
31
+ end
32
+ end
@@ -0,0 +1,3 @@
1
+ module KYCAID
2
+ VERSION = "0.1.0"
3
+ end
metadata ADDED
@@ -0,0 +1,192 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: kycaid
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.0
5
+ platform: ruby
6
+ authors:
7
+ - Openware
8
+ autorequire:
9
+ bindir: exe
10
+ cert_chain: []
11
+ date: 2020-06-12 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: bundler
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ">="
18
+ - !ruby/object:Gem::Version
19
+ version: '0'
20
+ type: :development
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ">="
25
+ - !ruby/object:Gem::Version
26
+ version: '0'
27
+ - !ruby/object:Gem::Dependency
28
+ name: rake
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: '13.0'
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: '13.0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: rspec
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: '3.0'
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: '3.0'
55
+ - !ruby/object:Gem::Dependency
56
+ name: vcr
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - ">="
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - ">="
67
+ - !ruby/object:Gem::Version
68
+ version: '0'
69
+ - !ruby/object:Gem::Dependency
70
+ name: webmock
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - ">="
74
+ - !ruby/object:Gem::Version
75
+ version: '0'
76
+ type: :development
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - ">="
81
+ - !ruby/object:Gem::Version
82
+ version: '0'
83
+ - !ruby/object:Gem::Dependency
84
+ name: pry
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - ">="
88
+ - !ruby/object:Gem::Version
89
+ version: '0'
90
+ type: :development
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - ">="
95
+ - !ruby/object:Gem::Version
96
+ version: '0'
97
+ - !ruby/object:Gem::Dependency
98
+ name: simplecov
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - ">="
102
+ - !ruby/object:Gem::Version
103
+ version: '0'
104
+ type: :development
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - ">="
109
+ - !ruby/object:Gem::Version
110
+ version: '0'
111
+ - !ruby/object:Gem::Dependency
112
+ name: faraday
113
+ requirement: !ruby/object:Gem::Requirement
114
+ requirements:
115
+ - - ">="
116
+ - !ruby/object:Gem::Version
117
+ version: '0'
118
+ type: :runtime
119
+ prerelease: false
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ requirements:
122
+ - - ">="
123
+ - !ruby/object:Gem::Version
124
+ version: '0'
125
+ - !ruby/object:Gem::Dependency
126
+ name: json
127
+ requirement: !ruby/object:Gem::Requirement
128
+ requirements:
129
+ - - ">="
130
+ - !ruby/object:Gem::Version
131
+ version: '0'
132
+ type: :runtime
133
+ prerelease: false
134
+ version_requirements: !ruby/object:Gem::Requirement
135
+ requirements:
136
+ - - ">="
137
+ - !ruby/object:Gem::Version
138
+ version: '0'
139
+ description: Support of core functionality of KYC provider
140
+ email:
141
+ - hello@openware.com
142
+ executables: []
143
+ extensions: []
144
+ extra_rdoc_files: []
145
+ files:
146
+ - ".drone.yml"
147
+ - ".gitignore"
148
+ - ".rspec"
149
+ - ".travis-yml"
150
+ - Gemfile
151
+ - Gemfile.lock
152
+ - README.md
153
+ - Rakefile
154
+ - bin/console
155
+ - bin/setup
156
+ - kycaid.gemspec
157
+ - lib/kycaid.rb
158
+ - lib/kycaid/address.rb
159
+ - lib/kycaid/applicant.rb
160
+ - lib/kycaid/client.rb
161
+ - lib/kycaid/configuration.rb
162
+ - lib/kycaid/document.rb
163
+ - lib/kycaid/file.rb
164
+ - lib/kycaid/response.rb
165
+ - lib/kycaid/verification.rb
166
+ - lib/kycaid/version.rb
167
+ homepage: https://www.openware.com/
168
+ licenses: []
169
+ metadata:
170
+ homepage_uri: https://www.openware.com/
171
+ source_code_uri: https://github.com/openware/kycaid
172
+ changelog_uri: https://github.com/openware/kycaid/blob/master/CHANGELOG.md
173
+ post_install_message:
174
+ rdoc_options: []
175
+ require_paths:
176
+ - lib
177
+ required_ruby_version: !ruby/object:Gem::Requirement
178
+ requirements:
179
+ - - ">="
180
+ - !ruby/object:Gem::Version
181
+ version: 2.3.0
182
+ required_rubygems_version: !ruby/object:Gem::Requirement
183
+ requirements:
184
+ - - ">="
185
+ - !ruby/object:Gem::Version
186
+ version: '0'
187
+ requirements: []
188
+ rubygems_version: 3.0.3
189
+ signing_key:
190
+ specification_version: 4
191
+ summary: Openware ruby library to interact with KYCAID.
192
+ test_files: []