myinfo 0.2.0 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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: []