finapps_core 5.0.6 → 5.0.7
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 +5 -5
- data/.codeclimate.yml +4 -1
- data/.rubocop.yml +3 -3
- data/.travis.yml +1 -1
- data/RELEASES.md +8 -0
- data/lib/finapps_core.rb +1 -0
- data/lib/finapps_core/middleware/middleware.rb +3 -1
- data/lib/finapps_core/middleware/request/user_agent.rb +1 -1
- data/lib/finapps_core/middleware/request/x_consumer_id.rb +20 -0
- data/lib/finapps_core/rest/configuration.rb +1 -1
- data/lib/finapps_core/rest/connection.rb +1 -0
- data/lib/finapps_core/version.rb +1 -1
- data/spec/middleware/request/x_consumer_id_spec.rb +16 -0
- metadata +47 -44
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: a7da6746a9d41a5a653232294b795c91e9a12b5c6879e3fcd3cef0ae199c7856
|
4
|
+
data.tar.gz: e6cd9df962d35834b073dea681bc56c4a0283130e535dd9e38e03b0431febc76
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c0adf1096463f145ced38476aed16b78a9e1db262881614e727e74eb6a015fc80fae7a6c15a4452e3bc16de47b3536379caeb19b63da86980da890971885c720
|
7
|
+
data.tar.gz: d856c0cd51760de8fb94e2b1907acfe594c3bfb8b8afc54f1bf8447c8759b60ecbaedbfae9c533d46d5eacf7af14c088bc9ca0fdd81166e8ffeed19a9c025370
|
data/.codeclimate.yml
CHANGED
data/.rubocop.yml
CHANGED
@@ -5,7 +5,7 @@ AllCops:
|
|
5
5
|
UseCache: false
|
6
6
|
|
7
7
|
# Commonly used screens these days easily fit more than 80 characters.
|
8
|
-
|
8
|
+
Layout/LineLength:
|
9
9
|
Max: 120
|
10
10
|
|
11
11
|
# Re-enable this when the following is resolved:
|
@@ -40,7 +40,7 @@ Naming/PredicateName:
|
|
40
40
|
- is_
|
41
41
|
- has_
|
42
42
|
- have_
|
43
|
-
|
43
|
+
ForbiddenPrefixes:
|
44
44
|
- is_
|
45
45
|
Exclude:
|
46
46
|
- spec/**/*
|
@@ -95,7 +95,7 @@ Style/VariableInterpolation:
|
|
95
95
|
strings.
|
96
96
|
StyleGuide: https://github.com/bbatsov/ruby-style-guide#curlies-interpolate
|
97
97
|
Enabled: false
|
98
|
-
Lint/
|
98
|
+
Lint/SuppressedException:
|
99
99
|
Description: Don't suppress exception.
|
100
100
|
StyleGuide: https://github.com/bbatsov/ruby-style-guide#dont-hide-exceptions
|
101
101
|
Enabled: false
|
data/.travis.yml
CHANGED
data/RELEASES.md
ADDED
data/lib/finapps_core.rb
CHANGED
@@ -17,6 +17,7 @@ require 'finapps_core/middleware/request/no_encoding_basic_authentication'
|
|
17
17
|
require 'finapps_core/middleware/request/accept_json'
|
18
18
|
require 'finapps_core/middleware/request/user_agent'
|
19
19
|
require 'finapps_core/middleware/request/request_id'
|
20
|
+
require 'finapps_core/middleware/request/x_consumer_id'
|
20
21
|
require 'finapps_core/middleware/response/raise_error'
|
21
22
|
require 'finapps_core/middleware/middleware'
|
22
23
|
|
@@ -9,6 +9,7 @@ module FinAppsCore
|
|
9
9
|
autoload :NoEncodingBasicAuthentication, 'finapps_core/middleware/request/no_encoding_basic_authentication'
|
10
10
|
autoload :TenantAuthentication, 'finapps_core/middleware/request/tenant_authentication'
|
11
11
|
autoload :RequestId, 'finapps_core/middleware/request/request_id'
|
12
|
+
autoload :XConsumerId, 'finapps_core/middleware/request/x_consumer_id'
|
12
13
|
|
13
14
|
if Faraday::Middleware.respond_to? :register_middleware
|
14
15
|
Faraday::Request.register_middleware \
|
@@ -16,7 +17,8 @@ module FinAppsCore
|
|
16
17
|
user_agent: -> { UserAgent },
|
17
18
|
no_encoding_basic_authentication: -> { NoEncodingBasicAuthentication },
|
18
19
|
tenant_authentication: -> { TenantAuthentication },
|
19
|
-
request_id: -> { RequestId }
|
20
|
+
request_id: -> { RequestId },
|
21
|
+
x_consumer_id: -> { XConsumerId }
|
20
22
|
end
|
21
23
|
end
|
22
24
|
end
|
@@ -2,7 +2,7 @@
|
|
2
2
|
|
3
3
|
module FinAppsCore
|
4
4
|
module Middleware
|
5
|
-
# This middleware sets the User-Agent request-header field to identify
|
5
|
+
# This middleware sets the User-Agent request-header field to identify the client.
|
6
6
|
class UserAgent < Faraday::Middleware
|
7
7
|
KEY = 'User-Agent' unless defined? KEY
|
8
8
|
RUBY = "#{RUBY_ENGINE}/#{RUBY_PLATFORM} #{RUBY_VERSION}-p#{RUBY_PATCHLEVEL}"
|
@@ -0,0 +1,20 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module FinAppsCore
|
4
|
+
module Middleware
|
5
|
+
# Adds a header to specify consumer to retrieve data for
|
6
|
+
class XConsumerId < Faraday::Middleware
|
7
|
+
KEY = 'X-Consumer-ID' unless defined? KEY
|
8
|
+
|
9
|
+
def initialize(app, x_consumer_id)
|
10
|
+
super(app)
|
11
|
+
@x_consumer_id = x_consumer_id.to_s.strip
|
12
|
+
end
|
13
|
+
|
14
|
+
def call(env)
|
15
|
+
env[:request_headers][KEY] ||= @x_consumer_id
|
16
|
+
@app.call(env)
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
@@ -8,7 +8,7 @@ module FinAppsCore
|
|
8
8
|
|
9
9
|
attr_accessor :tenant_token, :user_identifier, :user_token,
|
10
10
|
:host, :proxy, :timeout, :retry_limit, :rashify,
|
11
|
-
:log_level, :request_id
|
11
|
+
:log_level, :request_id, :consumer_id
|
12
12
|
|
13
13
|
def initialize(options = {})
|
14
14
|
FinAppsCore::REST::Defaults::DEFAULTS.merge(remove_empty_options(options))
|
data/lib/finapps_core/version.rb
CHANGED
@@ -0,0 +1,16 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
RSpec.describe FinAppsCore::Middleware::XConsumerId do
|
4
|
+
let(:key) { FinAppsCore::Middleware::XConsumerId::KEY }
|
5
|
+
let(:id) { 'valid_consumer_id' }
|
6
|
+
let(:fake_app) { proc {|env| env } }
|
7
|
+
let(:env) { { request_headers: {} } }
|
8
|
+
|
9
|
+
describe '#call' do
|
10
|
+
subject { FinAppsCore::Middleware::XConsumerId.new(fake_app, id) }
|
11
|
+
|
12
|
+
it('generates an X-Consumer-ID header') do
|
13
|
+
expect(subject.call(env)[:request_headers][key]).to eq(id)
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: finapps_core
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 5.0.
|
4
|
+
version: 5.0.7
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Erich Quintero
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2020-02-11 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: faraday
|
@@ -134,82 +134,82 @@ dependencies:
|
|
134
134
|
name: rspec
|
135
135
|
requirement: !ruby/object:Gem::Requirement
|
136
136
|
requirements:
|
137
|
-
- - "~>"
|
138
|
-
- !ruby/object:Gem::Version
|
139
|
-
version: '3.8'
|
140
137
|
- - ">="
|
141
138
|
- !ruby/object:Gem::Version
|
142
139
|
version: 3.8.0
|
140
|
+
- - "~>"
|
141
|
+
- !ruby/object:Gem::Version
|
142
|
+
version: '3.8'
|
143
143
|
type: :development
|
144
144
|
prerelease: false
|
145
145
|
version_requirements: !ruby/object:Gem::Requirement
|
146
146
|
requirements:
|
147
|
-
- - "~>"
|
148
|
-
- !ruby/object:Gem::Version
|
149
|
-
version: '3.8'
|
150
147
|
- - ">="
|
151
148
|
- !ruby/object:Gem::Version
|
152
149
|
version: 3.8.0
|
150
|
+
- - "~>"
|
151
|
+
- !ruby/object:Gem::Version
|
152
|
+
version: '3.8'
|
153
153
|
- !ruby/object:Gem::Dependency
|
154
154
|
name: rubocop
|
155
155
|
requirement: !ruby/object:Gem::Requirement
|
156
156
|
requirements:
|
157
|
-
- - "~>"
|
158
|
-
- !ruby/object:Gem::Version
|
159
|
-
version: '0.75'
|
160
157
|
- - ">="
|
161
158
|
- !ruby/object:Gem::Version
|
162
159
|
version: 0.75.0
|
160
|
+
- - "~>"
|
161
|
+
- !ruby/object:Gem::Version
|
162
|
+
version: '0.75'
|
163
163
|
type: :development
|
164
164
|
prerelease: false
|
165
165
|
version_requirements: !ruby/object:Gem::Requirement
|
166
166
|
requirements:
|
167
|
-
- - "~>"
|
168
|
-
- !ruby/object:Gem::Version
|
169
|
-
version: '0.75'
|
170
167
|
- - ">="
|
171
168
|
- !ruby/object:Gem::Version
|
172
169
|
version: 0.75.0
|
170
|
+
- - "~>"
|
171
|
+
- !ruby/object:Gem::Version
|
172
|
+
version: '0.75'
|
173
173
|
- !ruby/object:Gem::Dependency
|
174
174
|
name: rubocop-performance
|
175
175
|
requirement: !ruby/object:Gem::Requirement
|
176
176
|
requirements:
|
177
|
-
- - "~>"
|
178
|
-
- !ruby/object:Gem::Version
|
179
|
-
version: '1.5'
|
180
177
|
- - ">="
|
181
178
|
- !ruby/object:Gem::Version
|
182
179
|
version: 1.5.0
|
180
|
+
- - "~>"
|
181
|
+
- !ruby/object:Gem::Version
|
182
|
+
version: '1.5'
|
183
183
|
type: :development
|
184
184
|
prerelease: false
|
185
185
|
version_requirements: !ruby/object:Gem::Requirement
|
186
186
|
requirements:
|
187
|
-
- - "~>"
|
188
|
-
- !ruby/object:Gem::Version
|
189
|
-
version: '1.5'
|
190
187
|
- - ">="
|
191
188
|
- !ruby/object:Gem::Version
|
192
189
|
version: 1.5.0
|
190
|
+
- - "~>"
|
191
|
+
- !ruby/object:Gem::Version
|
192
|
+
version: '1.5'
|
193
193
|
- !ruby/object:Gem::Dependency
|
194
194
|
name: rubocop-rspec
|
195
195
|
requirement: !ruby/object:Gem::Requirement
|
196
196
|
requirements:
|
197
|
-
- - "~>"
|
198
|
-
- !ruby/object:Gem::Version
|
199
|
-
version: '1.36'
|
200
197
|
- - ">="
|
201
198
|
- !ruby/object:Gem::Version
|
202
199
|
version: 1.36.0
|
200
|
+
- - "~>"
|
201
|
+
- !ruby/object:Gem::Version
|
202
|
+
version: '1.36'
|
203
203
|
type: :development
|
204
204
|
prerelease: false
|
205
205
|
version_requirements: !ruby/object:Gem::Requirement
|
206
206
|
requirements:
|
207
|
-
- - "~>"
|
208
|
-
- !ruby/object:Gem::Version
|
209
|
-
version: '1.36'
|
210
207
|
- - ">="
|
211
208
|
- !ruby/object:Gem::Version
|
212
209
|
version: 1.36.0
|
210
|
+
- - "~>"
|
211
|
+
- !ruby/object:Gem::Version
|
212
|
+
version: '1.36'
|
213
213
|
- !ruby/object:Gem::Dependency
|
214
214
|
name: sinatra
|
215
215
|
requirement: !ruby/object:Gem::Requirement
|
@@ -234,22 +234,22 @@ dependencies:
|
|
234
234
|
name: webmock
|
235
235
|
requirement: !ruby/object:Gem::Requirement
|
236
236
|
requirements:
|
237
|
-
- - "~>"
|
238
|
-
- !ruby/object:Gem::Version
|
239
|
-
version: '3.6'
|
240
237
|
- - ">="
|
241
238
|
- !ruby/object:Gem::Version
|
242
239
|
version: 3.6.0
|
240
|
+
- - "~>"
|
241
|
+
- !ruby/object:Gem::Version
|
242
|
+
version: '3.6'
|
243
243
|
type: :development
|
244
244
|
prerelease: false
|
245
245
|
version_requirements: !ruby/object:Gem::Requirement
|
246
246
|
requirements:
|
247
|
-
- - "~>"
|
248
|
-
- !ruby/object:Gem::Version
|
249
|
-
version: '3.6'
|
250
247
|
- - ">="
|
251
248
|
- !ruby/object:Gem::Version
|
252
249
|
version: 3.6.0
|
250
|
+
- - "~>"
|
251
|
+
- !ruby/object:Gem::Version
|
252
|
+
version: '3.6'
|
253
253
|
description: A simple library for communicating with the FinApps REST API. Core functionality.
|
254
254
|
email:
|
255
255
|
- erich@financialapps.com
|
@@ -271,6 +271,7 @@ files:
|
|
271
271
|
- Gemfile
|
272
272
|
- LICENSE
|
273
273
|
- README.md
|
274
|
+
- RELEASES.md
|
274
275
|
- Rakefile
|
275
276
|
- finapps_core.gemspec
|
276
277
|
- lib/core_extensions/object/is_integer.rb
|
@@ -283,6 +284,7 @@ files:
|
|
283
284
|
- lib/finapps_core/middleware/request/request_id.rb
|
284
285
|
- lib/finapps_core/middleware/request/tenant_authentication.rb
|
285
286
|
- lib/finapps_core/middleware/request/user_agent.rb
|
287
|
+
- lib/finapps_core/middleware/request/x_consumer_id.rb
|
286
288
|
- lib/finapps_core/middleware/response/raise_error.rb
|
287
289
|
- lib/finapps_core/rest/base_client.rb
|
288
290
|
- lib/finapps_core/rest/configuration.rb
|
@@ -300,6 +302,7 @@ files:
|
|
300
302
|
- spec/middleware/request/request_id_spec.rb
|
301
303
|
- spec/middleware/request/tenant_authentication_spec.rb
|
302
304
|
- spec/middleware/request/user_agent_spec.rb
|
305
|
+
- spec/middleware/request/x_consumer_id_spec.rb
|
303
306
|
- spec/middleware/response/raise_error_spec.rb
|
304
307
|
- spec/rest/base_client_spec.rb
|
305
308
|
- spec/rest/configuration_spec.rb
|
@@ -341,25 +344,25 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
341
344
|
- !ruby/object:Gem::Version
|
342
345
|
version: '0'
|
343
346
|
requirements: []
|
344
|
-
|
345
|
-
rubygems_version: 2.6.8
|
347
|
+
rubygems_version: 3.0.6
|
346
348
|
signing_key:
|
347
349
|
specification_version: 4
|
348
350
|
summary: FinApps REST API ruby client - Core.
|
349
351
|
test_files:
|
350
|
-
- spec/middleware/response/raise_error_spec.rb
|
351
|
-
- spec/middleware/request/user_agent_spec.rb
|
352
|
-
- spec/middleware/request/no_encoding_basic_authentication_spec.rb
|
353
|
-
- spec/middleware/request/request_id_spec.rb
|
354
|
-
- spec/middleware/request/tenant_authentication_spec.rb
|
355
|
-
- spec/middleware/request/accept_json_spec.rb
|
356
|
-
- spec/rest/credentials_spec.rb
|
357
|
-
- spec/rest/configuration_spec.rb
|
358
352
|
- spec/rest/defaults_spec.rb
|
359
353
|
- spec/rest/base_client_spec.rb
|
354
|
+
- spec/rest/credentials_spec.rb
|
355
|
+
- spec/rest/configuration_spec.rb
|
360
356
|
- spec/rest/resources_spec.rb
|
361
|
-
- spec/utils/validatable_spec.rb
|
362
357
|
- spec/support/fake_api.rb
|
358
|
+
- spec/utils/validatable_spec.rb
|
359
|
+
- spec/spec_helpers/client.rb
|
363
360
|
- spec/spec_helper.rb
|
364
361
|
- spec/core_extensions/object/is_integer_spec.rb
|
365
|
-
- spec/
|
362
|
+
- spec/middleware/request/no_encoding_basic_authentication_spec.rb
|
363
|
+
- spec/middleware/request/user_agent_spec.rb
|
364
|
+
- spec/middleware/request/tenant_authentication_spec.rb
|
365
|
+
- spec/middleware/request/x_consumer_id_spec.rb
|
366
|
+
- spec/middleware/request/accept_json_spec.rb
|
367
|
+
- spec/middleware/request/request_id_spec.rb
|
368
|
+
- spec/middleware/response/raise_error_spec.rb
|