afterbanks-api-ruby 0.2.2 → 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: 4007a9c95869ee3649a7222d04de852394644756b5b8c282824440f3314e32cf
4
- data.tar.gz: 174843f2e47ead8e49ff7e9150d9a6f9359d15707999c9cf767f3985384e5777
3
+ metadata.gz: 7e8930f102e85517209fcce5b5b135df8a2c2ef8f006b34373d2f3f8fb506c6c
4
+ data.tar.gz: c0dc2f9f696a0c7deb911c8c97540c58c24ae279889fcbf1e817523c9d004379
5
5
  SHA512:
6
- metadata.gz: a667e7d1d24a1cf81b6ca7374f27af2a0331275f66554fbdabc79e51f020e353ad20d95db50cbf1495f06d1b23f611f6250a66747a5846e46a3918c51005b9b2
7
- data.tar.gz: 8480e58506498fec7709a7447d023bdfabc6c255ce6738c5266d3c1af250007f3c6c3309e39bf473d115708215d433717543dfded9ff21de67110fe2539032b1
6
+ metadata.gz: '0399b89536f56a7a7a005b1de08a39467e904f334d93e71785417e7484dc52c33a5ddcbbe45c071ccb2f33b6d6b95277bf948db36b21f05f0f4d917c22c08985'
7
+ data.tar.gz: 8470ba253a635d0fe30f37ae3734ce9d71bef65d95065e0ec53c45a8f6792f9bad155ba69437e73e32d1e1beb5d9f60638510a54d896f89e6e2fc9d8681307cb
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- afterbanks-api-ruby (0.2.2)
4
+ afterbanks-api-ruby (0.3.0)
5
5
  rest-client (~> 2.0.2)
6
6
 
7
7
  GEM
data/README.md CHANGED
@@ -33,6 +33,8 @@ You can set a `logger` as well.
33
33
  Changelog
34
34
  ---------
35
35
 
36
+ * v.0.3.0 Set a higher timeout so it works properly with ING Direct
37
+ * v.0.2.3 Better logging
36
38
  * v.0.2.2 Better naming (fix Caixa Guissona, Caixa Burriana and Banco Pichincha)
37
39
  * v.0.2.1 Better naming for banks (add Particulares for the proper ones, and use Caixa Enginyers)
38
40
  * v.0.2.0 Allow adding an (opt-in) random parameter to Afterbanks::Account.list to avoid caching
@@ -16,7 +16,8 @@ module Afterbanks
16
16
  def api_call(method:, path:, params: {})
17
17
  url = 'https://api.afterbanks.com' + path
18
18
 
19
- request_params = { method: method, url: url }
19
+ # Timeout is set to 5min: some banks take a lot to respond (e.g. ING Direct)
20
+ request_params = { method: method, url: url, timeout: 60*5 }
20
21
 
21
22
  if method == :post
22
23
  request_params.merge!(payload: params)
@@ -50,38 +51,33 @@ module Afterbanks
50
51
  end
51
52
 
52
53
  def log_request(method:, url:, params: {}, debug_id: nil)
53
- now = Time.now
54
+ logger = Afterbanks.configuration.logger
55
+ return if logger.nil?
54
56
 
55
- log_message(message: "")
56
- log_message(message: "=> #{method.upcase} #{url}")
57
+ now = Time.now
57
58
 
58
- log_message(message: "* Time: #{now}")
59
- log_message(message: "* Timestamp: #{now.to_i}")
60
- log_message(message: "* Debug ID: #{debug_id || 'none'}")
59
+ safe_params = {}
60
+ params.each do |key, value|
61
+ safe_value = if %w{servicekey user pass pass2}.include?(key.to_s)
62
+ "<masked>"
63
+ else
64
+ value
65
+ end
61
66
 
62
- if params.any?
63
- log_message(message: "* Params")
64
- params.each do |key, value|
65
- safe_value = if %w{servicekey user pass pass2}.include?(key.to_s)
66
- "<masked>"
67
- else
68
- value
69
- end
67
+ safe_value = safe_value.to_s if safe_value.is_a?(Symbol)
70
68
 
71
- log_message(message: "#{key}: #{safe_value}")
72
- end
73
- else
74
- log_message(message: "* No params")
69
+ safe_params[key] = safe_value
75
70
  end
76
- end
77
71
 
78
- def log_message(message: nil)
79
- return if message.nil?
80
-
81
- logger = Afterbanks.configuration.logger
82
- return if logger.nil?
83
-
84
- logger.info(message)
72
+ logger.info(
73
+ message: 'Afterbanks request',
74
+ method: method.upcase.to_s,
75
+ url: url,
76
+ time: now.to_s,
77
+ timestamp: now.to_i,
78
+ debug_id: debug_id || 'none',
79
+ params: safe_params
80
+ )
85
81
  end
86
82
 
87
83
  private
@@ -1,3 +1,3 @@
1
1
  module Afterbanks
2
- VERSION = "0.2.2"
2
+ VERSION = "0.3.0"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: afterbanks-api-ruby
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.2
4
+ version: 0.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Albert Bellonch
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2020-04-30 00:00:00.000000000 Z
11
+ date: 2020-05-06 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rest-client