finapps_core 5.0.11 → 5.0.13

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