currency_cloud 0.8.0 → 0.8.2

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: d03914430ce3008c972006bfdce468cc9d5247c4
4
- data.tar.gz: 45a61b8743f130d88c690db610532deefec3e65c
3
+ metadata.gz: 4feb1a53b41a150cd7175eebb4ca92504235de38
4
+ data.tar.gz: baa29a21ca77d8edee42a2690889195b5ad00ca4
5
5
  SHA512:
6
- metadata.gz: 9fdf242df295a23bc62137212cc3ee8fed27806be15d0c20a50c1ba6b77c09f86bbeb368e1cd4793ac42df96ec6f50232a568ca13e0968943d26c8f8759c86b0
7
- data.tar.gz: becd764f0a82a9582411705245d3699b5ca501a372f813618aeff8c7b2d98837a7b2ba43241db74bdccf093c17255b4ef73c0c127ce36537473ec4389e7c32a0
6
+ metadata.gz: 06b86ac4c431de61ff3d559269632e6648a0bd6b95cb3f546c84a46705a0a8ce63f0b2f9fd73eae1b3ab10f7f5244e6d52e63f20649967f6100faf23998ba70a
7
+ data.tar.gz: 6824ca0ab4ea2edfe96198be1adc15317a93f2024196a4f606ad108a1bd56d6377c4823dc5f97e712e236c1f2e046f913a3397b5277846aa50e24546d6a92938
@@ -3,3 +3,6 @@ Metrics/LineLength:
3
3
 
4
4
  Style/Documentation:
5
5
  Enabled: false
6
+
7
+ Style/SymbolArray:
8
+ EnforcedStyle: brackets
data/Gemfile CHANGED
@@ -1,6 +1,5 @@
1
1
  source 'https://rubygems.org'
2
2
 
3
- gem 'sinatra'
4
3
  gem 'guard-rspec', require: false
5
4
  gem 'guard', '2.12.6'
6
5
 
@@ -13,7 +13,7 @@ spec = Gem::Specification.new do |s|
13
13
  s.licenses = ['MIT']
14
14
  s.required_ruby_version = '>= 1.9'
15
15
 
16
- s.add_dependency('httparty', '~> 0.13')
16
+ s.add_dependency('httparty', '0.14.0')
17
17
  s.add_dependency('json', '~> 1.8')
18
18
 
19
19
  s.add_development_dependency('rspec', '~> 3.1')
@@ -27,12 +27,14 @@ module CurrencyCloud
27
27
  def initialize(verb, route, params, raw_response)
28
28
  @verb = verb
29
29
  @route = route
30
- @params = params
30
+ @params = redacted_params(params)
31
31
  @raw_response = raw_response
32
32
  @status_code = raw_response.code
33
33
  errors = raw_response.parsed_response
34
34
  @code = errors['error_code']
35
35
  @messages = []
36
+
37
+ return unless errors['error_messages']
36
38
 
37
39
  errors['error_messages'].each do |field, messages|
38
40
  messages.each do |message|
@@ -10,5 +10,19 @@ module CurrencyCloud
10
10
  end
11
11
  "#{base}#{implementation}"
12
12
  end
13
+
14
+ REDACTED_PARAMS = [:api_key, :login_id, :token].freeze
15
+ REDACTED_STRING = "REDACTED".freeze
16
+
17
+ def redacted_params(params)
18
+ redacted = params.dup
19
+
20
+ REDACTED_PARAMS.each do |param|
21
+ redacted[param.to_sym] = REDACTED_STRING if redacted.key? param.to_sym
22
+ redacted[param.to_s] = REDACTED_STRING if redacted.key? param.to_s
23
+ end
24
+
25
+ redacted
26
+ end
13
27
  end
14
28
  end
@@ -7,7 +7,7 @@ module CurrencyCloud
7
7
  def initialize(verb, route, params, e)
8
8
  @verb = verb
9
9
  @route = route
10
- @params = params
10
+ @params = redacted_params(params)
11
11
  @inner_error = e
12
12
  end
13
13
 
@@ -2,5 +2,5 @@
2
2
 
3
3
  module CurrencyCloud
4
4
  API_VERSION = 'v2'.freeze # API Version
5
- VERSION = '0.8.0'.freeze # Gem Version
5
+ VERSION = '0.8.2'.freeze # Gem Version
6
6
  end
@@ -0,0 +1,30 @@
1
+ require "spec_helper"
2
+
3
+ describe "ErrorUtils" do
4
+ module CurrencyCloud
5
+ class ErrorUtilTester
6
+ extend ErrorUtils
7
+ end
8
+ end
9
+
10
+ it "can #redact_params" do
11
+ params = {
12
+ unaffected: "value",
13
+ api_key: "value",
14
+ login_id: "value",
15
+ token: "value"
16
+ }
17
+
18
+ redacted = CurrencyCloud::ErrorUtilTester.redacted_params(params)
19
+
20
+ expect(redacted[:unaffected]).to eq "value"
21
+ expect(redacted[:api_key]).to eq CurrencyCloud::ErrorUtils::REDACTED_STRING
22
+ expect(redacted[:login_id]).to eq CurrencyCloud::ErrorUtils::REDACTED_STRING
23
+ expect(redacted[:token]).to eq CurrencyCloud::ErrorUtils::REDACTED_STRING
24
+
25
+ expect(params[:unaffected]).to eq "value"
26
+ expect(params[:api_key]).to eq "value"
27
+ expect(params[:login_id]).to eq "value"
28
+ expect(params[:token]).to eq "value"
29
+ end
30
+ end
@@ -26,8 +26,8 @@ describe 'Error', vcr: true do
26
26
  platform: #{error.platform}
27
27
  request:
28
28
  parameters:
29
- login_id: non-existent-login-id
30
- api_key: ef0fd50fca1fb14c1fab3a8436b9ecb57528f0
29
+ login_id: REDACTED
30
+ api_key: REDACTED
31
31
  verb: post
32
32
  url: https://devapi.currencycloud.com/v2/authenticate/api
33
33
  response:
@@ -105,8 +105,8 @@ errors:
105
105
  platform: #{error.platform}
106
106
  request:
107
107
  parameters:
108
- login_id: rjnienaber@gmail.com
109
- api_key: ef0fd50fca1fb14c1fab3a8436b9ecb65f02f129fd87eafa45ded8ae257528f0
108
+ login_id: REDACTED
109
+ api_key: REDACTED
110
110
  verb: post
111
111
  url: https://devapi.currencycloud.com/v2/authenticate/api
112
112
  inner_error: Timeout::Error
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: currency_cloud
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.8.0
4
+ version: 0.8.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Liam McAndrew
@@ -9,26 +9,26 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2017-04-24 00:00:00.000000000 Z
12
+ date: 2017-07-06 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - "~>"
17
+ - - '='
18
18
  - !ruby/object:Gem::Version
19
- version: '0.13'
19
+ version: 0.14.0
20
20
  name: httparty
21
21
  prerelease: false
22
22
  type: :runtime
23
23
  version_requirements: !ruby/object:Gem::Requirement
24
24
  requirements:
25
- - - "~>"
25
+ - - '='
26
26
  - !ruby/object:Gem::Version
27
- version: '0.13'
27
+ version: 0.14.0
28
28
  - !ruby/object:Gem::Dependency
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - "~>"
31
+ - - ~>
32
32
  - !ruby/object:Gem::Version
33
33
  version: '1.8'
34
34
  name: json
@@ -36,13 +36,13 @@ dependencies:
36
36
  type: :runtime
37
37
  version_requirements: !ruby/object:Gem::Requirement
38
38
  requirements:
39
- - - "~>"
39
+ - - ~>
40
40
  - !ruby/object:Gem::Version
41
41
  version: '1.8'
42
42
  - !ruby/object:Gem::Dependency
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
- - - "~>"
45
+ - - ~>
46
46
  - !ruby/object:Gem::Version
47
47
  version: '3.1'
48
48
  name: rspec
@@ -50,13 +50,13 @@ dependencies:
50
50
  type: :development
51
51
  version_requirements: !ruby/object:Gem::Requirement
52
52
  requirements:
53
- - - "~>"
53
+ - - ~>
54
54
  - !ruby/object:Gem::Version
55
55
  version: '3.1'
56
56
  - !ruby/object:Gem::Dependency
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
- - - "~>"
59
+ - - ~>
60
60
  - !ruby/object:Gem::Version
61
61
  version: '10.3'
62
62
  name: rake
@@ -64,13 +64,13 @@ dependencies:
64
64
  type: :development
65
65
  version_requirements: !ruby/object:Gem::Requirement
66
66
  requirements:
67
- - - "~>"
67
+ - - ~>
68
68
  - !ruby/object:Gem::Version
69
69
  version: '10.3'
70
70
  - !ruby/object:Gem::Dependency
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
- - - "~>"
73
+ - - ~>
74
74
  - !ruby/object:Gem::Version
75
75
  version: '1.21'
76
76
  name: webmock
@@ -78,13 +78,13 @@ dependencies:
78
78
  type: :development
79
79
  version_requirements: !ruby/object:Gem::Requirement
80
80
  requirements:
81
- - - "~>"
81
+ - - ~>
82
82
  - !ruby/object:Gem::Version
83
83
  version: '1.21'
84
84
  - !ruby/object:Gem::Dependency
85
85
  requirement: !ruby/object:Gem::Requirement
86
86
  requirements:
87
- - - "~>"
87
+ - - ~>
88
88
  - !ruby/object:Gem::Version
89
89
  version: '2.9'
90
90
  name: vcr
@@ -92,13 +92,13 @@ dependencies:
92
92
  type: :development
93
93
  version_requirements: !ruby/object:Gem::Requirement
94
94
  requirements:
95
- - - "~>"
95
+ - - ~>
96
96
  - !ruby/object:Gem::Version
97
97
  version: '2.9'
98
98
  - !ruby/object:Gem::Dependency
99
99
  requirement: !ruby/object:Gem::Requirement
100
100
  requirements:
101
- - - "<="
101
+ - - <=
102
102
  - !ruby/object:Gem::Version
103
103
  version: 2.4.0
104
104
  name: addressable
@@ -106,7 +106,7 @@ dependencies:
106
106
  type: :development
107
107
  version_requirements: !ruby/object:Gem::Requirement
108
108
  requirements:
109
- - - "<="
109
+ - - <=
110
110
  - !ruby/object:Gem::Version
111
111
  version: 2.4.0
112
112
  description: Ruby SDK for the Currency Cloud API - https://connect.currencycloud.com/
@@ -117,9 +117,9 @@ executables: []
117
117
  extensions: []
118
118
  extra_rdoc_files: []
119
119
  files:
120
- - ".gitignore"
121
- - ".rubocop.yml"
122
- - ".travis.yml"
120
+ - .gitignore
121
+ - .rubocop.yml
122
+ - .travis.yml
123
123
  - Gemfile
124
124
  - Guardfile
125
125
  - LICENSE.md
@@ -169,6 +169,7 @@ files:
169
169
  - spec/currency_cloud_spec.rb
170
170
  - spec/integration/actions_spec.rb
171
171
  - spec/integration/authentication_spec.rb
172
+ - spec/integration/error_utils_spec.rb
172
173
  - spec/integration/errors_spec.rb
173
174
  - spec/integration/rates_spec.rb
174
175
  - spec/integration/reference_spec.rb
@@ -214,17 +215,17 @@ require_paths:
214
215
  - lib
215
216
  required_ruby_version: !ruby/object:Gem::Requirement
216
217
  requirements:
217
- - - ">="
218
+ - - '>='
218
219
  - !ruby/object:Gem::Version
219
220
  version: '1.9'
220
221
  required_rubygems_version: !ruby/object:Gem::Requirement
221
222
  requirements:
222
- - - ">="
223
+ - - '>='
223
224
  - !ruby/object:Gem::Version
224
225
  version: '0'
225
226
  requirements: []
226
227
  rubyforge_project:
227
- rubygems_version: 2.4.8
228
+ rubygems_version: 2.1.9
228
229
  signing_key:
229
230
  specification_version: 4
230
231
  summary: Ruby SDK for the Currency Cloud API
@@ -234,6 +235,7 @@ test_files:
234
235
  - spec/currency_cloud_spec.rb
235
236
  - spec/integration/actions_spec.rb
236
237
  - spec/integration/authentication_spec.rb
238
+ - spec/integration/error_utils_spec.rb
237
239
  - spec/integration/errors_spec.rb
238
240
  - spec/integration/rates_spec.rb
239
241
  - spec/integration/reference_spec.rb