biro 0.6.10 → 0.7.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
  SHA1:
3
- metadata.gz: ab20ec923a750441a1e4545ee9ef3e150772e465
4
- data.tar.gz: 8b91afe40888c77e96d61bfe565a8da5196fff05
3
+ metadata.gz: 516d27889e41f5674dcdee065262d2ca1ad1b403
4
+ data.tar.gz: e571410f1da053994ae21d88a5facd8aadb0a6aa
5
5
  SHA512:
6
- metadata.gz: 3e46b2d4abe3e9faf8a88dec3a330275a3b9f8dd68a0c16444e90eebc3496f25c2edd6393c7a0c8d4dc96ac85fce635029a2b0bff9e9d82a5dcbb3df0f2db873
7
- data.tar.gz: 7435ca8f680af54e10d98d8ae84e372fae0a1a6bf8278f6ab0a051090fca6c2fa35136e04d71427c41bbba884a1e2ce1d5eb4f73c519c2d6b77fff72c9c30702
6
+ metadata.gz: da5d77f88a3bf5dbed14cf7ca48bcdeadfd4f70b93e2c37d97ed0bd131740192e0b6d45d7bed2351ef8fbefd9dde36c0c66b21fcc66c523cdec2beef5b97adac
7
+ data.tar.gz: ceb26ed37b1a980470adc25595d81e904f9002336ce527dc2582bda83a56a20693f4ad6aa8ea54fd2d42c23208f58ccf8791329eccb1333e081ed04413665e69
@@ -1,3 +1,4 @@
1
1
  require_relative 'ph3a/request'
2
2
  require_relative 'ph3a/response'
3
3
  require_relative 'ph3a/builders/login_builder'
4
+ require_relative 'ph3a/builders/current_builder'
@@ -3,7 +3,7 @@ require 'active_support/core_ext/array'
3
3
  module Biro
4
4
  module Ph3a
5
5
  class LoginBuilder
6
- def initialize response
6
+ def initialize(response)
7
7
  @body = response.body
8
8
  end
9
9
 
@@ -16,15 +16,18 @@ module Biro
16
16
  end
17
17
 
18
18
  def find(document)
19
- raise AuthenticationError.new('Invalid authentication credentials') if token.blank?
20
-
21
19
  begin
20
+ @retries ||= 0
21
+ @token = nil
22
+
22
23
  params = {}
23
24
  get_parameters params, document
24
25
  response = soap.call(:get_person_data, message: params)
25
26
  Response.new(response)
26
27
  rescue => e
27
28
  Biro.log(:warn, "Unable to process Ph3a request")
29
+
30
+ retry if (@retries += 1) < 3 && e.message.include?("User not authenticated")
28
31
  raise AuthenticationError.new("Error at PH3A request: #{e.message}") if e.message.include?("User not authenticated")
29
32
  raise StandardError.new("Error at PH3A request: #{e.message}")
30
33
  end
@@ -33,10 +36,19 @@ module Biro
33
36
  private
34
37
 
35
38
  def token
36
- @token ||= get_token
39
+ @token ||= (get_current || login)
40
+ end
41
+
42
+ def get_current
43
+ login_params = {}
44
+ get_login_parameters login_params
45
+
46
+ response = soap.call(:get_current, message: login_params)
47
+
48
+ CurrentBuilder.new(response).token
37
49
  end
38
50
 
39
- def get_token
51
+ def login
40
52
  login_params = {}
41
53
  get_login_parameters login_params
42
54
 
@@ -1,3 +1,3 @@
1
1
  module Biro
2
- VERSION = "0.6.10"
2
+ VERSION = "0.7.0"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: biro
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.6.10
4
+ version: 0.7.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Noverde Team
@@ -11,7 +11,7 @@ authors:
11
11
  autorequire:
12
12
  bindir: exe
13
13
  cert_chain: []
14
- date: 2017-07-31 00:00:00.000000000 Z
14
+ date: 2017-08-01 00:00:00.000000000 Z
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency
17
17
  name: savon