smile-identity-core 0.1.1 → 0.2.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: 584ee28900df6fe47ae9b0a5420139011b7066ade042871e25457ad885cafd8c
4
- data.tar.gz: 12659892472717e03ba992186da1f79f131d19275ffca69b92def3332b1c9d59
3
+ metadata.gz: 433c708dc96d30936d66a28a8722bb0947390d154c0d2ace346ce8381b237fe6
4
+ data.tar.gz: 84f5459883048c3ee08eb9ee38d6e890d910e4d3a133b39d35eb932603140d70
5
5
  SHA512:
6
- metadata.gz: a48e3c826a5b4c2b04cc1d276a6599d850b3edd01823365c1777b7346bf38a8e71ffa1f38528840d99dc868a65f9d7e91e6f225b703e88b0f74b79ba48da37c8
7
- data.tar.gz: 205bd0c4eb54335a2cd25657df8c036fc174f6285a1543053e216f766df556841cbfbe1bd492616fa00af604afd7e508219ab9ac5a2545262eb8f16ffcc51c88
6
+ metadata.gz: badf204f3108464b9e9eaef9884b38f446a7bb26a7f6b72e39e90b6a7a64c474bcc14f22f637cbdeecb6533c487a340ccdfe6d18558b90c10857c8cdbe90c112
7
+ data.tar.gz: dc5e0266ec8007cd88b41d35164cbb3fa71fc299207779817678f8a75663ecd455ea536a6ee13a0d94cfdfc67ca93f3eaae2feed223dd4059bedcf025d8abb92
data/CHANGELOG.md CHANGED
@@ -4,3 +4,12 @@ All notable changes to this project will be documented in this file.
4
4
  ## [0.1.0] - 2019-07-19
5
5
  ### Added
6
6
  The first release version of Web Api.
7
+
8
+ ## [0.1.1] - 2019-07-23
9
+ ### Updated
10
+ Some package configurations were added.
11
+
12
+ ## [0.2.0] - 2019-08-14
13
+ ### Added
14
+ Removed two parameters: optional_callback and return_job_status in the submit_job function in favour of an options hash.
15
+ Introduced return_history and image_links
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- smile-identity-core (0.1.1)
4
+ smile-identity-core (0.2.0)
5
5
  rubyzip (~> 1.2, >= 1.2.3)
6
6
  typhoeus (~> 1.0, >= 1.0.1)
7
7
 
data/README.md CHANGED
@@ -4,7 +4,7 @@ The official Smile Identity gem exposes two classes namely, the Web API and Auth
4
4
 
5
5
  The Web API allows you as the Partner to validate a user’s identity against the relevant Identity Authorities/Third Party databases that Smile Identity has access to using ID information provided by your customer/user (including photo for compare).
6
6
 
7
- The Auth Smile class allows you as the Partner to generate a sec key to interact with our servers.
7
+ The Signature class allows you as the Partner to generate a sec key to interact with our servers.
8
8
 
9
9
  ## Documentation
10
10
 
@@ -1,3 +1,3 @@
1
1
  module SmileIdentityCore
2
- VERSION = "0.1.1"
2
+ VERSION = "0.2.0"
3
3
  end
@@ -27,16 +27,16 @@ module SmileIdentityCore
27
27
 
28
28
  end
29
29
 
30
- def submit_job(partner_params, images, id_info, optional_callback, return_job_status)
30
+ def submit_job(partner_params, images, id_info, options)
31
31
  self.partner_params = partner_params
32
32
  self.images = images
33
33
  @timestamp = Time.now.to_i
34
34
 
35
35
  self.id_info = id_info
36
- self.return_job_status = return_job_status
36
+ self.options = options
37
37
 
38
- if !optional_callback.empty?
39
- @callback_url = optional_callback
38
+ if options[:optional_callback] && options[:optional_callback].length > 0
39
+ @callback_url = options[:optional_callback]
40
40
  end
41
41
 
42
42
  if partner_params[:job_type].to_i == 1
@@ -95,22 +95,21 @@ module SmileIdentityCore
95
95
  @id_info = id_info
96
96
  end
97
97
 
98
- def return_job_status=(return_job_status)
99
- if return_job_status == nil
100
- raise ArgumentError.new('Please ensure that you send through return_job_status')
101
- end
102
-
103
- if !!return_job_status != return_job_status
104
- raise ArgumentError.new('return_job_status needs to be a boolean')
98
+ def options=(options)
99
+ updated_options = {}
100
+ [:optional_callback, :return_job_status, :return_image_links, :return_history].map do |key|
101
+ if key != :optional_callback
102
+ updated_options[key] = check_boolean(key, options[key])
103
+ end
105
104
  end
106
105
 
107
- @return_job_status = return_job_status
106
+ @options = updated_options
108
107
  end
109
108
 
110
109
  private
111
110
 
112
111
  def validate_return_data
113
- if @callback_url.empty? && !@return_job_status
112
+ if (!@callback_url || @callback_url.empty?) && !@options[:return_job_status]
114
113
  raise ArgumentError.new("Please choose to either get your response via the callback or job status query")
115
114
  end
116
115
  end
@@ -121,6 +120,18 @@ module SmileIdentityCore
121
120
  end
122
121
  end
123
122
 
123
+ def check_boolean(key, bool)
124
+ if (!bool)
125
+ bool = false;
126
+ end
127
+
128
+ if !!bool != bool
129
+ raise ArgumentError.new("#{key} needs to be a boolean")
130
+ end
131
+
132
+ return bool
133
+ end
134
+
124
135
  def determine_sec_key
125
136
  hash_signature = Digest::SHA256.hexdigest([@partner_id.to_i, @timestamp].join(":"))
126
137
  public_key = OpenSSL::PKey::RSA.new(Base64.decode64(@api_key))
@@ -264,7 +275,7 @@ module SmileIdentityCore
264
275
 
265
276
  request.on_complete do |response|
266
277
  if response.success?
267
- if @return_job_status
278
+ if @options[:return_job_status]
268
279
  return query_job_status
269
280
  else
270
281
  return
@@ -294,7 +305,8 @@ module SmileIdentityCore
294
305
  user_id: @partner_params[:user_id],
295
306
  job_id: @partner_params[:job_id],
296
307
  partner_id: @partner_id,
297
- image_links: "false", # we hardcode to false for now
308
+ image_links: @options[:return_image_links],
309
+ history: @options[:return_history]
298
310
  }.to_json
299
311
 
300
312
  url = "#{@url}/job_status"
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: smile-identity-core
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ridhwana
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2019-07-23 00:00:00.000000000 Z
11
+ date: 2019-08-14 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler