myinfo 0.2.0 → 0.3.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: e4f4d83acb9ce5afd75d888d6e555089ba29689b6fe844d32051be9ddba21fd1
4
- data.tar.gz: 5e05d4a0d40c57fb39fcec4e07e4412c6d25158d440478e89827c5aef176327f
3
+ metadata.gz: 6726edb186a85078a81f2c35be0dc47020964f657c610df9c72c687fa77bd7d3
4
+ data.tar.gz: 6e56e1209674511a2b01c134167db37873ca98d7f9ef70cffd780a2c8d0774c5
5
5
  SHA512:
6
- metadata.gz: 358d683837d81a175ab85f82a27d13789e2244587b711f6d3e3d370d0d7b3eca9780a5654a92d525f2838331da82a5505f2c4c58f00c931f79824967a59e3bac
7
- data.tar.gz: cad0b5dfb3a0cfad6efc34269a7bce69572dec34dc44ab709203a88ac5c02d34490cb6609e2e60bc79f0a47f95f60bdc885a8e0e8dd954c11b0b8a80a3ae2d53
6
+ metadata.gz: 27e06e298637b5c688da1325ce5eabae97617d2144188dba805e369035b727b0d618014f60b8b41ddb900f406017f958bab05cc5a378d9ee2834dfe61d96def8
7
+ data.tar.gz: 53f7cfa76b70966b945e8a3783f82a9181144104908eba44d1ef289f4c31b22b2fe5e41da3b2ad0deae970d5fba6c7917de05d012dccca59f65615708d49d699
data/lib/myinfo/v3/api.rb CHANGED
@@ -17,6 +17,16 @@ module MyInfo
17
17
  raise NotImplementedError, 'abstract'
18
18
  end
19
19
 
20
+ def call
21
+ yield
22
+ rescue StandardError => e
23
+ Response.new(success: false, data: e)
24
+ end
25
+
26
+ def slug
27
+ ''
28
+ end
29
+
20
30
  def http_method
21
31
  'GET'
22
32
  end
@@ -63,7 +73,6 @@ module MyInfo
63
73
  end
64
74
 
65
75
  def decode_jws(jws)
66
- # TODO: verify signature
67
76
  JWT.decode(jws, public_key, true, algorithm: 'RS256').first
68
77
  end
69
78
 
@@ -14,11 +14,13 @@ module MyInfo
14
14
  end
15
15
 
16
16
  def call
17
- headers = header(params: params, access_token: access_token)
18
- endpoint_url = "/#{slug}?#{params.to_query}"
17
+ super do
18
+ headers = header(params: params, access_token: access_token)
19
+ endpoint_url = "/#{slug}?#{params.to_query}"
19
20
 
20
- response = http.request_get(endpoint_url, headers)
21
- parse_response(response)
21
+ response = http.request_get(endpoint_url, headers)
22
+ parse_response(response)
23
+ end
22
24
  end
23
25
 
24
26
  def slug
@@ -15,11 +15,13 @@ module MyInfo
15
15
  end
16
16
 
17
17
  def call
18
- headers = header(params: params)
19
- endpoint_url = "/#{slug}?#{params.to_query}"
18
+ super do
19
+ headers = header(params: params)
20
+ endpoint_url = "/#{slug}?#{params.to_query}"
20
21
 
21
- response = http.request_get(endpoint_url, headers)
22
- parse_response(response)
22
+ response = http.request_get(endpoint_url, headers)
23
+ parse_response(response)
24
+ end
23
25
  end
24
26
 
25
27
  def slug
@@ -15,8 +15,12 @@ module MyInfo
15
15
  @success
16
16
  end
17
17
 
18
+ def exception?
19
+ data.is_a?(StandardError)
20
+ end
21
+
18
22
  def to_s
19
- data
23
+ exception? ? data.message : data
20
24
  end
21
25
  end
22
26
  end
@@ -12,10 +12,12 @@ module MyInfo
12
12
  end
13
13
 
14
14
  def call
15
- headers = header(params: params).merge({ 'Content-Type' => 'application/x-www-form-urlencoded' })
16
- response = http.request_post("/#{slug}", params.to_param, headers)
15
+ super do
16
+ headers = header(params: params).merge({ 'Content-Type' => 'application/x-www-form-urlencoded' })
17
+ response = http.request_post("/#{slug}", params.to_param, headers)
17
18
 
18
- parse_response(response)
19
+ parse_response(response)
20
+ end
19
21
  end
20
22
 
21
23
  def http_method
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: myinfo
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Lim Yao Jie
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-01-27 00:00:00.000000000 Z
11
+ date: 2020-02-02 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: jwe
@@ -137,7 +137,7 @@ dependencies:
137
137
  - !ruby/object:Gem::Version
138
138
  version: '3.11'
139
139
  description: Rails wrapper for MyInfo API
140
- email: limyaojie93@gmail.com
140
+ email: lim_yao_jie@tech.gov.sg
141
141
  executables: []
142
142
  extensions: []
143
143
  extra_rdoc_files: []
@@ -153,7 +153,7 @@ files:
153
153
  - lib/myinfo/v3/person_basic.rb
154
154
  - lib/myinfo/v3/response.rb
155
155
  - lib/myinfo/v3/token.rb
156
- homepage: https://rubygems.org/gems/myinfo
156
+ homepage: https://github.com/GovTechSG/myinfo-rails
157
157
  licenses:
158
158
  - MIT
159
159
  metadata: {}
@@ -175,5 +175,5 @@ requirements: []
175
175
  rubygems_version: 3.1.2
176
176
  signing_key:
177
177
  specification_version: 4
178
- summary: MyInfo gem
178
+ summary: Rails wrapper for MyInfo API
179
179
  test_files: []