biro 0.6.10 → 0.7.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
  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