xhash_client 0.3.2 → 0.3.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile.lock +1 -14
- data/lib/xhash/client/json_api.rb +19 -2
- data/lib/xhash/error.rb +2 -0
- data/lib/xhash/version.rb +1 -1
- data/spec/xhash/database_lookup_spec.rb +13 -0
- data/spec/xhash/ocr_spec.rb +6 -3
- data/xhash_client.gemspec +0 -1
- metadata +2 -17
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 21dcbe25c117136469c5d4771d19702d88bd72d53049facee20ed68af710c4d9
|
4
|
+
data.tar.gz: ef284cac9fc9d8abde1732204705c0c56887cc2124ad4ed85fef5ae895a10a6a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b8864b24dc5d915a72d7a55deb07950f431e7a748286b3a0fcb6bf53b44282902a3db215ab501eb9e61de3d2626dfbfd20a809544f4cddfb21180506ac83ed9e
|
7
|
+
data.tar.gz: cd939aed1627caf3be233bd18ae3e5db0ed53c25ddf8e19a05fb3183aec2a37d24c22dbf01b78c14542976857ae4c8010b97f622013a478437bbbab5a92730ae
|
data/Gemfile.lock
CHANGED
@@ -1,22 +1,15 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
xhash_client (0.3.
|
5
|
-
activesupport (~> 5.2)
|
4
|
+
xhash_client (0.3.3)
|
6
5
|
httparty (~> 0.16.0)
|
7
6
|
json (~> 2.0)
|
8
7
|
|
9
8
|
GEM
|
10
9
|
remote: https://rubygems.org/
|
11
10
|
specs:
|
12
|
-
activesupport (5.2.4.1)
|
13
|
-
concurrent-ruby (~> 1.0, >= 1.0.2)
|
14
|
-
i18n (>= 0.7, < 2)
|
15
|
-
minitest (~> 5.1)
|
16
|
-
tzinfo (~> 1.1)
|
17
11
|
addressable (2.7.0)
|
18
12
|
public_suffix (>= 2.0.2, < 5.0)
|
19
|
-
concurrent-ruby (1.1.5)
|
20
13
|
crack (0.4.3)
|
21
14
|
safe_yaml (~> 1.0.0)
|
22
15
|
diff-lcs (1.3)
|
@@ -25,13 +18,10 @@ GEM
|
|
25
18
|
httparty (0.16.4)
|
26
19
|
mime-types (~> 3.0)
|
27
20
|
multi_xml (>= 0.5.2)
|
28
|
-
i18n (1.7.1)
|
29
|
-
concurrent-ruby (~> 1.0)
|
30
21
|
json (2.2.0)
|
31
22
|
mime-types (3.3.1)
|
32
23
|
mime-types-data (~> 3.2015)
|
33
24
|
mime-types-data (3.2019.1009)
|
34
|
-
minitest (5.13.0)
|
35
25
|
multi_xml (0.6.0)
|
36
26
|
public_suffix (4.0.1)
|
37
27
|
rspec (3.8.0)
|
@@ -53,9 +43,6 @@ GEM
|
|
53
43
|
json (>= 1.8, < 3)
|
54
44
|
simplecov-html (~> 0.10.0)
|
55
45
|
simplecov-html (0.10.2)
|
56
|
-
thread_safe (0.3.6)
|
57
|
-
tzinfo (1.2.6)
|
58
|
-
thread_safe (~> 0.1)
|
59
46
|
webmock (3.7.2)
|
60
47
|
addressable (>= 2.3.6)
|
61
48
|
crack (>= 0.3.2)
|
@@ -13,7 +13,13 @@ module Xhash
|
|
13
13
|
custom_headers = headers.merge(default_headers)
|
14
14
|
response = HTTParty.get(Xhash.api_base + url, headers: custom_headers)
|
15
15
|
|
16
|
-
|
16
|
+
raise Xhash::Error.new(response) unless response_ok?(response)
|
17
|
+
|
18
|
+
begin
|
19
|
+
JSON.parse(response.body, symbolize_names: true)
|
20
|
+
rescue => exception
|
21
|
+
raise Xhash::MalformedResponse.new
|
22
|
+
end
|
17
23
|
end
|
18
24
|
|
19
25
|
def api_post(url:, body: {}, headers: {})
|
@@ -25,7 +31,13 @@ module Xhash
|
|
25
31
|
body: body.to_json, headers: custom_headers
|
26
32
|
)
|
27
33
|
|
28
|
-
|
34
|
+
raise Xhash::Error.new(response) unless response_ok?(response)
|
35
|
+
|
36
|
+
begin
|
37
|
+
JSON.parse(response.body, symbolize_names: true)
|
38
|
+
rescue => exception
|
39
|
+
raise Xhash::MalformedResponse.new
|
40
|
+
end
|
29
41
|
end
|
30
42
|
|
31
43
|
def api_post_multipart(url:, body: {}, headers: {})
|
@@ -37,8 +49,13 @@ module Xhash
|
|
37
49
|
multipart: true, body: body, headers: custom_headers
|
38
50
|
)
|
39
51
|
|
52
|
+
raise Xhash::Error.new(response) unless response_ok?(response)
|
40
53
|
response.body
|
41
54
|
end
|
55
|
+
|
56
|
+
def response_ok?(response)
|
57
|
+
!(response.code == 404 || response.code >= 500)
|
58
|
+
end
|
42
59
|
end
|
43
60
|
|
44
61
|
def self.included(base)
|
data/lib/xhash/error.rb
CHANGED
data/lib/xhash/version.rb
CHANGED
@@ -76,6 +76,19 @@ describe Xhash::SAT do
|
|
76
76
|
end
|
77
77
|
end
|
78
78
|
|
79
|
+
it 'fails with html error' do
|
80
|
+
curp = 'JIQJ890611HDFXNN04'
|
81
|
+
|
82
|
+
stub_request(:post, 'https://xhash.dev/api/database-lookup/renapo')
|
83
|
+
.to_return(body: '<p>bad</p>', status: 200)
|
84
|
+
|
85
|
+
begin
|
86
|
+
Xhash::DatabaseLookup.renapo(curp)
|
87
|
+
rescue => exception
|
88
|
+
expect(exception).to be_a(Xhash::MalformedResponse)
|
89
|
+
end
|
90
|
+
end
|
91
|
+
|
79
92
|
it 'fails with malformed CURP' do
|
80
93
|
curp = 'asdf'
|
81
94
|
|
data/spec/xhash/ocr_spec.rb
CHANGED
@@ -88,7 +88,8 @@ describe Xhash::OCR do
|
|
88
88
|
payload: {
|
89
89
|
full_name: 'Prof Francesco Reichert',
|
90
90
|
neighborhood: 'Parkerchester',
|
91
|
-
full_address:
|
91
|
+
full_address:
|
92
|
+
'CLL 59 E DIAGONAL 623\n76 Y 74 A Y RED CANALIZA\nLAS AMERICAS\nMERIDA, MERIDA YU\nC.P. 97302-CR -97111',
|
92
93
|
zip_code: '97302',
|
93
94
|
province: 'Port Rosemarieview,VT',
|
94
95
|
date: '2019-09-01',
|
@@ -112,7 +113,9 @@ describe Xhash::OCR do
|
|
112
113
|
expect(proof_of_address.type).to eq('TELMEX')
|
113
114
|
expect(proof_of_address.date).to eq('2019-09-01')
|
114
115
|
expect(proof_of_address.zip_code).to eq('97302')
|
115
|
-
expect(proof_of_address.full_address).to eq(
|
116
|
+
expect(proof_of_address.full_address).to eq(
|
117
|
+
'CLL 59 E DIAGONAL 623\n76 Y 74 A Y RED CANALIZA\nLAS AMERICAS\nMERIDA, MERIDA YU\nC.P. 97302-CR -97111'
|
118
|
+
)
|
116
119
|
end
|
117
120
|
|
118
121
|
it 'successfully serialize proof of address to document by file' do
|
@@ -158,7 +161,7 @@ describe Xhash::OCR do
|
|
158
161
|
'https://kyc-xhash.s3-us-west-2.amazonaws.com/documents/7cd6994d9ad52e8943be1ae00bac60c461430cdf2af6159afa4b9be749706472.png'
|
159
162
|
)
|
160
163
|
rescue => exception
|
161
|
-
expect(exception).to be_a(
|
164
|
+
expect(exception).to be_a(Xhash::MalformedResponse)
|
162
165
|
end
|
163
166
|
end
|
164
167
|
|
data/xhash_client.gemspec
CHANGED
@@ -20,7 +20,6 @@ Gem::Specification.new do |spec|
|
|
20
20
|
|
21
21
|
spec.add_dependency 'httparty', "~> 0.16.0"
|
22
22
|
spec.add_dependency "json", "~> 2.0"
|
23
|
-
spec.add_dependency 'activesupport', "~> 5.2"
|
24
23
|
|
25
24
|
spec.add_development_dependency "rspec", "~> 3.8"
|
26
25
|
spec.add_development_dependency "webmock", "~> 3.7"
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: xhash_client
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.3.
|
4
|
+
version: 0.3.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Yellowme
|
@@ -38,20 +38,6 @@ dependencies:
|
|
38
38
|
- - "~>"
|
39
39
|
- !ruby/object:Gem::Version
|
40
40
|
version: '2.0'
|
41
|
-
- !ruby/object:Gem::Dependency
|
42
|
-
name: activesupport
|
43
|
-
requirement: !ruby/object:Gem::Requirement
|
44
|
-
requirements:
|
45
|
-
- - "~>"
|
46
|
-
- !ruby/object:Gem::Version
|
47
|
-
version: '5.2'
|
48
|
-
type: :runtime
|
49
|
-
prerelease: false
|
50
|
-
version_requirements: !ruby/object:Gem::Requirement
|
51
|
-
requirements:
|
52
|
-
- - "~>"
|
53
|
-
- !ruby/object:Gem::Version
|
54
|
-
version: '5.2'
|
55
41
|
- !ruby/object:Gem::Dependency
|
56
42
|
name: rspec
|
57
43
|
requirement: !ruby/object:Gem::Requirement
|
@@ -152,8 +138,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
152
138
|
- !ruby/object:Gem::Version
|
153
139
|
version: '0'
|
154
140
|
requirements: []
|
155
|
-
|
156
|
-
rubygems_version: 2.7.6
|
141
|
+
rubygems_version: 3.0.3
|
157
142
|
signing_key:
|
158
143
|
specification_version: 4
|
159
144
|
summary: Ruby library built for Xhash API
|