finapps_core 5.0.6 → 5.0.7

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
- 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