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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: '08859c33cd6524380a075b7f36177300adfdeb2b'
4
- data.tar.gz: cd48d1c3f27ee17efbb19d70b24abf121ecb98d0
2
+ SHA256:
3
+ metadata.gz: a7da6746a9d41a5a653232294b795c91e9a12b5c6879e3fcd3cef0ae199c7856
4
+ data.tar.gz: e6cd9df962d35834b073dea681bc56c4a0283130e535dd9e38e03b0431febc76
5
5
  SHA512:
6
- metadata.gz: b69ac8cecad4365023c4eb2769895d0b5a4e49970b7dc51a086149347fb5dee65b2a37e230fe5ec2be234ad5be79d37be32a5ad0527a4c2a9a74f1dc33515893
7
- data.tar.gz: 59768f251ec965091bc87e04384219befdeab569363ffb3c6f4fd6b585b2d25791b2c8ea9dbda5e62edfd626e325cdac0f9e0f461df6ce1791d58df90d4cf0b6
6
+ metadata.gz: c0adf1096463f145ced38476aed16b78a9e1db262881614e727e74eb6a015fc80fae7a6c15a4452e3bc16de47b3536379caeb19b63da86980da890971885c720
7
+ data.tar.gz: d856c0cd51760de8fb94e2b1907acfe594c3bfb8b8afc54f1bf8447c8759b60ecbaedbfae9c533d46d5eacf7af14c088bc9ca0fdd81166e8ffeed19a9c025370
@@ -13,7 +13,10 @@ plugins:
13
13
  enabled: true
14
14
  config:
15
15
  languages:
16
- - ruby
16
+ ruby:
17
+ mass_threshold: 30
17
18
  exclude_patterns:
18
19
  - spec/**/*
19
20
  - "**/vendor/**/*"
21
+ - lib/finapps_core/rest/connection.rb
22
+ - lib/core_extensions/string/json_to_hash.rb
@@ -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
- Metrics/LineLength:
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
- NamePrefixBlacklist:
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/HandleExceptions:
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
@@ -6,7 +6,7 @@ cache:
6
6
  rvm:
7
7
  - 2.5
8
8
  - 2.6
9
- - ruby-head
9
+ # - ruby-head
10
10
 
11
11
  before_install:
12
12
  - "echo 'gem: --no-document' > ~/.gemrc"
@@ -0,0 +1,8 @@
1
+ ## [5.0.7] - 2020-02-11
2
+
3
+ ### Added
4
+ * X-Consumer-ID header ([#49][i49])
5
+
6
+ [i49]: https://github.com/finapps/ruby-client-core/issues/49
7
+
8
+ [5.0.7]: https://github.com/finapps/ruby-client-core/compare/5.0.6...5.0.7
@@ -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 thei client.
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))
@@ -15,6 +15,7 @@ module FinAppsCore
15
15
  else
16
16
  conn.request :tenant_authentication, config.tenant_token
17
17
  end
18
+ conn.request :x_consumer_id, config.consumer_id if config.consumer_id
18
19
  conn.request :json
19
20
  conn.request :retry
20
21
  conn.request :multipart
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module FinAppsCore
4
- VERSION = '5.0.6'
4
+ VERSION = '5.0.7'
5
5
  end
@@ -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.6
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: 2019-10-04 00:00:00.000000000 Z
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
- rubyforge_project:
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/spec_helpers/client.rb
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