finapps_core 5.0.11 → 5.0.13

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
  SHA256:
3
- metadata.gz: dd4de0991c1e8755d433dab8dc0dc424f3ea91f96397ab34989afdc662dc01cc
4
- data.tar.gz: 6755974411e0bc978871969f6ce994013e2317c28fe0e18cce96a3b615673a0b
3
+ metadata.gz: '048fa78b23468e14dd5756a875178f323687de38537d46db6b0f7da842bbf375'
4
+ data.tar.gz: fe171551416bfc98902f958cae69220f4923f6e9b0445883689a3d4edff73c08
5
5
  SHA512:
6
- metadata.gz: e5d459507dd0de21b728fbee60427007ed59243f2b2d98e6ea9c196ed605a363d91b24f752a76ffe1bbf10c34c9ae439985bf91f41bfdc7f0a523dd219d45c6b
7
- data.tar.gz: 9b3c7d10e5dbb30c1f8fcc31e66975b01fcb5296045af520aae8bd869f52a89514697a99df2627b7cb456e07f4d69b70479b65171b5ca070942d0386e91fbc50
6
+ metadata.gz: 947a8a2ee8caff1d0de36924480926db3c12e4dc76d3904735929265f3a981e98062695dfbd54dfebdde462fd8a6244086a86f5a3e2d2877d52ee3cc4187a3c3
7
+ data.tar.gz: c5b3d107db58545e5eafadf8ab09c87e834af608ba8294ae857cb15abb16eb6ec3079eff290cb8f04322c7a3b66bdf4fad0ecf6d2a81af57d0dcc9727feacebf
@@ -39,7 +39,7 @@ exclude-labels:
39
39
  - invalid
40
40
 
41
41
  template: |
42
- ## [$RESOLVED_VERSION](https://github.com/finapps/ruby-client/compare/$PREVIOUS_TAG...$RESOLVED_VERSION)
42
+ ## [$RESOLVED_VERSION](https://github.com/finapps/ruby-client-core/compare/$PREVIOUS_TAG...$RESOLVED_VERSION)
43
43
  $CHANGES
44
44
 
45
45
  replacers:
@@ -11,12 +11,11 @@ jobs:
11
11
  fail-fast: true
12
12
 
13
13
  steps:
14
- - uses: actions/checkout@v1
14
+ - name: Checkout source code
15
+ uses: actions/checkout@v2
15
16
 
16
- - name: Use Ruby 2.6
17
- uses: actions/setup-ruby@v1
18
- with:
19
- ruby-version: '2.6'
17
+ - name: Install required ruby version
18
+ uses: ruby/setup-ruby@v1
20
19
 
21
20
  - uses: actions/cache@v2
22
21
  with:
@@ -9,46 +9,46 @@ jobs:
9
9
  strategy:
10
10
  fail-fast: true
11
11
 
12
- steps:
13
- - uses: actions/checkout@master
14
- with:
15
- persist-credentials: false
16
- fetch-depth: 0 # otherwise, you will failed to push refs to dest repo
12
+ steps:
13
+ - name: Checkout source code
14
+ uses: actions/checkout@v2
15
+ with:
16
+ persist-credentials: false
17
+ fetch-depth: 0 # otherwise, you will fail to push refs to dest repo
17
18
 
18
- - uses: actions/setup-ruby@v1
19
- with:
20
- ruby-version: '2.6'
21
-
22
- - name: Get version from latest tag
23
- id: get_version
24
- uses: battila7/get-version-action@v2
19
+ - name: Install required ruby version
20
+ uses: ruby/setup-ruby@v1
25
21
 
26
- - name: Bump version
27
- run: |
28
- gem install -N gem-release
29
- git config --local user.email "action@github.com"
30
- git config --local user.name "GitHub Action"
31
- gem bump --skip-ci --version ${{ steps.get_version.outputs.version-without-v }}
32
-
33
- - name: Push changes
34
- uses: ad-m/github-push-action@master
35
- with:
36
- # GitHub Actions token does not support pushing to protected branches.
37
- # github_token: ${{ secrets.GITHUB_TOKEN }}
38
- #
39
- # A manually populated`PERSONAL_ACCESS_TOKEN` environment variable
40
- # with permissions to push to a protected branch must be used.
41
- # not ideal - keep eyes open for a better solution
42
- github_token: ${{ secrets.PERSONAL_ACCESS_TOKEN }}
43
-
44
- - name: Release gem to rubygems.org
45
- run: |
46
- set +x
47
- mkdir -p ~/.gem
48
- cat << EOF > ~/.gem/credentials
49
- ---
50
- :rubygems_api_key: ${{ secrets.RUBYGEMS_API_KEY }}
51
- EOF
52
- chmod 0600 ~/.gem/credentials
53
- set -x
54
- gem release
22
+ - name: Get version from latest tag
23
+ id: get_version
24
+ uses: battila7/get-version-action@v2
25
+
26
+ - name: Bump version
27
+ run: |
28
+ gem install -N gem-release
29
+ git config --local user.email "action@github.com"
30
+ git config --local user.name "GitHub Action"
31
+ gem bump --skip-ci --version ${{ steps.get_version.outputs.version-without-v }}
32
+
33
+ - name: Push changes
34
+ uses: ad-m/github-push-action@master
35
+ with:
36
+ # GitHub Actions token does not support pushing to protected branches.
37
+ # github_token: ${{ secrets.GITHUB_TOKEN }}
38
+ #
39
+ # A manually populated`PERSONAL_ACCESS_TOKEN` environment variable
40
+ # with permissions to push to a protected branch must be used.
41
+ # not ideal - keep eyes open for a better solution
42
+ github_token: ${{ secrets.PERSONAL_ACCESS_TOKEN }}
43
+
44
+ - name: Release gem to rubygems.org
45
+ run: |
46
+ set +x
47
+ mkdir -p ~/.gem
48
+ cat << EOF > ~/.gem/credentials
49
+ ---
50
+ :rubygems_api_key: ${{ secrets.RUBYGEMS_API_KEY }}
51
+ EOF
52
+ chmod 0600 ~/.gem/credentials
53
+ set -x
54
+ gem release
@@ -46,7 +46,7 @@ Metrics/ClassLength:
46
46
  - app/controllers/orders_controller.rb
47
47
  - app/models/order.rb
48
48
  Metrics/BlockLength:
49
- ExcludedMethods: ['describe', 'context']
49
+ IgnoredMethods: ['describe', 'context']
50
50
  Exclude:
51
51
  - finapps_core.gemspec
52
52
  - config/environments/**/**
@@ -1 +1 @@
1
- ruby-2.6.3
1
+ ruby-2.7.2
@@ -26,10 +26,11 @@ Gem::Specification.new do |spec|
26
26
  spec.add_development_dependency 'bundler', '~> 2.0', '>= 2.0.2'
27
27
  spec.add_development_dependency 'codeclimate-test-reporter', '~> 1.0', '>= 1.0.9'
28
28
  spec.add_development_dependency 'rake', '~> 13.0', '>= 13.0.1'
29
- spec.add_development_dependency 'rspec', '~> 3.8', '>= 3.8.0'
30
- spec.add_development_dependency 'rubocop', '~> 0.86', '>= 0.86.0'
31
- spec.add_development_dependency 'rubocop-performance', '~> 1.6', '>= 1.6.1'
32
- spec.add_development_dependency 'rubocop-rspec', '~> 1.40', '>= 1.40.0'
29
+ spec.add_development_dependency 'rspec', '~> 3.10', '>= 3.10.0'
30
+ spec.add_development_dependency 'rubocop', '~> 1.8', '>= 1.8.1'
31
+ spec.add_development_dependency 'rubocop-performance', '~> 1.9', '>= 1.9.2'
32
+ spec.add_development_dependency 'rubocop-rake', '~> 0.5', '>= 0.5.1'
33
+ spec.add_development_dependency 'rubocop-rspec', '~> 2.1', '>= 2.1.0'
33
34
  spec.add_development_dependency 'sinatra', '~> 2.0', '>= 2.0.5'
34
35
  spec.add_development_dependency 'webmock', '~> 3.6', '>= 3.6.0'
35
36
 
@@ -18,6 +18,7 @@ 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
20
  require 'finapps_core/middleware/request/x_consumer_id'
21
+ require 'finapps_core/middleware/request/x_tenant_id'
21
22
  require 'finapps_core/middleware/response/raise_error'
22
23
  require 'finapps_core/middleware/middleware'
23
24
 
@@ -20,7 +20,8 @@ module FinAppsCore
20
20
  no_encoding_basic_authentication: -> { NoEncodingBasicAuthentication },
21
21
  tenant_authentication: -> { TenantAuthentication },
22
22
  request_id: -> { RequestId },
23
- x_consumer_id: -> { XConsumerId }
23
+ x_consumer_id: -> { XConsumerId },
24
+ x_tenant_id: -> { XTenantId }
24
25
  end
25
26
  end
26
27
  end
@@ -0,0 +1,20 @@
1
+ # frozen_string_literal: true
2
+
3
+ module FinAppsCore
4
+ module Middleware
5
+ # Adds a header to specify tenant to retrieve data for
6
+ class XTenantId < Faraday::Middleware
7
+ KEY = 'X-Tenant-ID' unless defined? KEY
8
+
9
+ def initialize(app, x_tenant_id)
10
+ super(app)
11
+ @x_tenant_id = x_tenant_id.to_s.strip
12
+ end
13
+
14
+ def call(env)
15
+ env[:request_headers][KEY] ||= @x_tenant_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, :consumer_id
11
+ :log_level, :request_id, :consumer_id, :tenant_id
12
12
 
13
13
  def initialize(options = {})
14
14
  FinAppsCore::REST::Defaults::DEFAULTS.merge(remove_empty_options(options))
@@ -42,7 +42,7 @@ module FinAppsCore
42
42
  end
43
43
 
44
44
  def remove_empty_options(hash)
45
- hash.reject {|_, value| value.nil? }
45
+ hash.compact
46
46
  end
47
47
  end
48
48
  end
@@ -29,6 +29,7 @@ module FinAppsCore
29
29
  conn.request :accept_json
30
30
  conn.request :user_agent
31
31
  conn.request :x_consumer_id, config.consumer_id if config.consumer_id
32
+ conn.request :x_tenant_id, config.tenant_id if config.tenant_id
32
33
  conn.request :json
33
34
  conn.request :retry
34
35
  conn.request :multipart
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module FinAppsCore
4
- VERSION = '5.0.11'
4
+ VERSION = '5.0.13'
5
5
  end
@@ -0,0 +1,16 @@
1
+ # frozen_string_literal: true
2
+
3
+ RSpec.describe FinAppsCore::Middleware::XTenantId do
4
+ let(:id) { 'valid_tenant_id' }
5
+ let(:fake_app) { proc {|env| env } }
6
+ let(:env) { {request_headers: {}} }
7
+
8
+ describe '#call' do
9
+ subject(:x_tenant_id) { described_class.new(fake_app, id) }
10
+
11
+ it('generates an X-Tenant-ID header') do
12
+ key = FinAppsCore::Middleware::XTenantId::KEY
13
+ expect(x_tenant_id.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.11
4
+ version: 5.0.13
5
5
  platform: ruby
6
6
  authors:
7
7
  - Erich Quintero
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-08-06 00:00:00.000000000 Z
11
+ date: 2021-01-19 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: faraday
@@ -34,20 +34,20 @@ dependencies:
34
34
  name: faraday_middleware
35
35
  requirement: !ruby/object:Gem::Requirement
36
36
  requirements:
37
- - - ">="
37
+ - - "~>"
38
38
  - !ruby/object:Gem::Version
39
39
  version: '1.0'
40
- - - "~>"
40
+ - - ">="
41
41
  - !ruby/object:Gem::Version
42
42
  version: '1.0'
43
43
  type: :runtime
44
44
  prerelease: false
45
45
  version_requirements: !ruby/object:Gem::Requirement
46
46
  requirements:
47
- - - ">="
47
+ - - "~>"
48
48
  - !ruby/object:Gem::Version
49
49
  version: '1.0'
50
- - - "~>"
50
+ - - ">="
51
51
  - !ruby/object:Gem::Version
52
52
  version: '1.0'
53
53
  - !ruby/object:Gem::Dependency
@@ -114,82 +114,102 @@ dependencies:
114
114
  name: rspec
115
115
  requirement: !ruby/object:Gem::Requirement
116
116
  requirements:
117
- - - ">="
118
- - !ruby/object:Gem::Version
119
- version: 3.8.0
120
117
  - - "~>"
121
118
  - !ruby/object:Gem::Version
122
- version: '3.8'
119
+ version: '3.10'
120
+ - - ">="
121
+ - !ruby/object:Gem::Version
122
+ version: 3.10.0
123
123
  type: :development
124
124
  prerelease: false
125
125
  version_requirements: !ruby/object:Gem::Requirement
126
126
  requirements:
127
- - - ">="
128
- - !ruby/object:Gem::Version
129
- version: 3.8.0
130
127
  - - "~>"
131
128
  - !ruby/object:Gem::Version
132
- version: '3.8'
129
+ version: '3.10'
130
+ - - ">="
131
+ - !ruby/object:Gem::Version
132
+ version: 3.10.0
133
133
  - !ruby/object:Gem::Dependency
134
134
  name: rubocop
135
135
  requirement: !ruby/object:Gem::Requirement
136
136
  requirements:
137
- - - ">="
138
- - !ruby/object:Gem::Version
139
- version: 0.86.0
140
137
  - - "~>"
141
138
  - !ruby/object:Gem::Version
142
- version: '0.86'
139
+ version: '1.8'
140
+ - - ">="
141
+ - !ruby/object:Gem::Version
142
+ version: 1.8.1
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: 0.86.0
150
147
  - - "~>"
151
148
  - !ruby/object:Gem::Version
152
- version: '0.86'
149
+ version: '1.8'
150
+ - - ">="
151
+ - !ruby/object:Gem::Version
152
+ version: 1.8.1
153
153
  - !ruby/object:Gem::Dependency
154
154
  name: rubocop-performance
155
155
  requirement: !ruby/object:Gem::Requirement
156
156
  requirements:
157
157
  - - "~>"
158
158
  - !ruby/object:Gem::Version
159
- version: '1.6'
159
+ version: '1.9'
160
160
  - - ">="
161
161
  - !ruby/object:Gem::Version
162
- version: 1.6.1
162
+ version: 1.9.2
163
163
  type: :development
164
164
  prerelease: false
165
165
  version_requirements: !ruby/object:Gem::Requirement
166
166
  requirements:
167
167
  - - "~>"
168
168
  - !ruby/object:Gem::Version
169
- version: '1.6'
169
+ version: '1.9'
170
170
  - - ">="
171
171
  - !ruby/object:Gem::Version
172
- version: 1.6.1
172
+ version: 1.9.2
173
173
  - !ruby/object:Gem::Dependency
174
- name: rubocop-rspec
174
+ name: rubocop-rake
175
175
  requirement: !ruby/object:Gem::Requirement
176
176
  requirements:
177
- - - ">="
178
- - !ruby/object:Gem::Version
179
- version: 1.40.0
180
177
  - - "~>"
181
178
  - !ruby/object:Gem::Version
182
- version: '1.40'
179
+ version: '0.5'
180
+ - - ">="
181
+ - !ruby/object:Gem::Version
182
+ version: 0.5.1
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: '0.5'
187
190
  - - ">="
188
191
  - !ruby/object:Gem::Version
189
- version: 1.40.0
192
+ version: 0.5.1
193
+ - !ruby/object:Gem::Dependency
194
+ name: rubocop-rspec
195
+ requirement: !ruby/object:Gem::Requirement
196
+ requirements:
190
197
  - - "~>"
191
198
  - !ruby/object:Gem::Version
192
- version: '1.40'
199
+ version: '2.1'
200
+ - - ">="
201
+ - !ruby/object:Gem::Version
202
+ version: 2.1.0
203
+ type: :development
204
+ prerelease: false
205
+ version_requirements: !ruby/object:Gem::Requirement
206
+ requirements:
207
+ - - "~>"
208
+ - !ruby/object:Gem::Version
209
+ version: '2.1'
210
+ - - ">="
211
+ - !ruby/object:Gem::Version
212
+ version: 2.1.0
193
213
  - !ruby/object:Gem::Dependency
194
214
  name: sinatra
195
215
  requirement: !ruby/object:Gem::Requirement
@@ -214,22 +234,22 @@ dependencies:
214
234
  name: webmock
215
235
  requirement: !ruby/object:Gem::Requirement
216
236
  requirements:
217
- - - ">="
218
- - !ruby/object:Gem::Version
219
- version: 3.6.0
220
237
  - - "~>"
221
238
  - !ruby/object:Gem::Version
222
239
  version: '3.6'
240
+ - - ">="
241
+ - !ruby/object:Gem::Version
242
+ version: 3.6.0
223
243
  type: :development
224
244
  prerelease: false
225
245
  version_requirements: !ruby/object:Gem::Requirement
226
246
  requirements:
227
- - - ">="
228
- - !ruby/object:Gem::Version
229
- version: 3.6.0
230
247
  - - "~>"
231
248
  - !ruby/object:Gem::Version
232
249
  version: '3.6'
250
+ - - ">="
251
+ - !ruby/object:Gem::Version
252
+ version: 3.6.0
233
253
  description: A simple library for communicating with the FinApps REST API. Core functionality.
234
254
  email:
235
255
  - erich@financialapps.com
@@ -271,6 +291,7 @@ files:
271
291
  - lib/finapps_core/middleware/request/tenant_authentication.rb
272
292
  - lib/finapps_core/middleware/request/user_agent.rb
273
293
  - lib/finapps_core/middleware/request/x_consumer_id.rb
294
+ - lib/finapps_core/middleware/request/x_tenant_id.rb
274
295
  - lib/finapps_core/middleware/response/raise_error.rb
275
296
  - lib/finapps_core/rest/base_client.rb
276
297
  - lib/finapps_core/rest/configuration.rb
@@ -289,6 +310,7 @@ files:
289
310
  - spec/middleware/request/tenant_authentication_spec.rb
290
311
  - spec/middleware/request/user_agent_spec.rb
291
312
  - spec/middleware/request/x_consumer_id_spec.rb
313
+ - spec/middleware/request/x_tenant_id_spec.rb
292
314
  - spec/middleware/response/raise_error_spec.rb
293
315
  - spec/rest/base_client_spec.rb
294
316
  - spec/rest/configuration_spec.rb
@@ -330,25 +352,26 @@ required_rubygems_version: !ruby/object:Gem::Requirement
330
352
  - !ruby/object:Gem::Version
331
353
  version: '0'
332
354
  requirements: []
333
- rubygems_version: 3.0.3
355
+ rubygems_version: 3.1.4
334
356
  signing_key:
335
357
  specification_version: 4
336
358
  summary: FinApps REST API ruby client - Core.
337
359
  test_files:
338
- - spec/spec_helper.rb
339
- - spec/support/fake_api.rb
340
- - spec/utils/validatable_spec.rb
341
- - spec/core_extensions/object/is_integer_spec.rb
342
- - spec/rest/base_client_spec.rb
343
- - spec/rest/defaults_spec.rb
344
360
  - spec/rest/resources_spec.rb
361
+ - spec/rest/defaults_spec.rb
345
362
  - spec/rest/credentials_spec.rb
363
+ - spec/rest/base_client_spec.rb
346
364
  - spec/rest/configuration_spec.rb
365
+ - spec/support/fake_api.rb
366
+ - spec/spec_helper.rb
367
+ - spec/utils/validatable_spec.rb
347
368
  - spec/spec_helpers/client.rb
369
+ - spec/middleware/request/request_id_spec.rb
370
+ - spec/middleware/request/x_consumer_id_spec.rb
348
371
  - spec/middleware/request/user_agent_spec.rb
349
372
  - spec/middleware/request/tenant_authentication_spec.rb
350
- - spec/middleware/request/x_consumer_id_spec.rb
373
+ - spec/middleware/request/x_tenant_id_spec.rb
351
374
  - spec/middleware/request/no_encoding_basic_authentication_spec.rb
352
- - spec/middleware/request/request_id_spec.rb
353
375
  - spec/middleware/request/accept_json_spec.rb
354
376
  - spec/middleware/response/raise_error_spec.rb
377
+ - spec/core_extensions/object/is_integer_spec.rb