finapps_core 5.0.14 → 6.0.1
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 +4 -4
- data/.github/dependabot.yml +7 -0
- data/.github/workflows/ci.yaml +41 -0
- data/.github/workflows/release.yml +1 -1
- data/.github/workflows/verify-pr-labeled.yml +12 -3
- data/README.md +1 -4
- data/finapps_core.gemspec +9 -8
- data/lib/finapps_core/logging/content_type_formatter.rb +39 -0
- data/lib/finapps_core/rest/configuration.rb +1 -1
- data/lib/finapps_core/rest/connection.rb +4 -1
- data/lib/finapps_core/rest/defaults.rb +2 -2
- data/lib/finapps_core/version.rb +1 -1
- data/lib/finapps_core.rb +2 -0
- data/spec/logging/conten_type_formatter_spec.rb +53 -0
- data/spec/rest/defaults_spec.rb +18 -5
- data/spec/spec_helper.rb +13 -5
- metadata +80 -62
- data/.github/workflows/main.yaml +0 -37
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: d18e32588446fcca7dbf1e07e819e278d3d2abb4bf75207eba374b5c60c5f14c
|
4
|
+
data.tar.gz: 0f7f59132bdf40f76b80925390bacb4067be4a3604d45a0defdbd3f3dbe5b298
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 3278d2d0ca52fcf1042923b9fe641b112b2c7956062e81527c84b5e24d3805df7479b233ded5c2e5c2fa96a7c2457107ee52afdf1c783f3a307c7b0626ad5cef
|
7
|
+
data.tar.gz: d845efa3086595a6b5c024a91a6755d92fe24fa3e85e79cc530074d4469b861c2e54c133289a19762b2c126145d2e01f9891da4617b99d98490c60af6380171e
|
@@ -0,0 +1,41 @@
|
|
1
|
+
name: Continuous Integration
|
2
|
+
|
3
|
+
on:
|
4
|
+
push:
|
5
|
+
paths-ignore:
|
6
|
+
- ".github/**"
|
7
|
+
- ".VERSION"
|
8
|
+
pull_request:
|
9
|
+
paths-ignore:
|
10
|
+
- ".github/**"
|
11
|
+
- ".VERSION"
|
12
|
+
jobs:
|
13
|
+
test:
|
14
|
+
if: "!contains(github.event.head_commit.message, 'skip ci')"
|
15
|
+
strategy:
|
16
|
+
fail-fast: false
|
17
|
+
matrix:
|
18
|
+
os: [ubuntu-latest]
|
19
|
+
ruby: [2.6, 2.7, '3.0']
|
20
|
+
runs-on: ${{ matrix.os }}
|
21
|
+
steps:
|
22
|
+
- name: Checkout source code
|
23
|
+
uses: actions/checkout@v2.3.4
|
24
|
+
|
25
|
+
- name: Install required ruby version
|
26
|
+
uses: ruby/setup-ruby@v1
|
27
|
+
with:
|
28
|
+
bundler-cache: true # runs 'bundle install' and caches gems
|
29
|
+
|
30
|
+
- name: Run rspec with coverage
|
31
|
+
run: |
|
32
|
+
COVERAGE=true bundle exec rspec
|
33
|
+
|
34
|
+
- name: Run rubocop
|
35
|
+
run: |
|
36
|
+
bundle exec rubocop --parallel
|
37
|
+
|
38
|
+
- name: Run Skunk on Project
|
39
|
+
run: |
|
40
|
+
gem install skunk
|
41
|
+
skunk lib/
|
@@ -7,8 +7,17 @@ jobs:
|
|
7
7
|
label:
|
8
8
|
runs-on: ubuntu-latest
|
9
9
|
steps:
|
10
|
-
- uses: mheap/github-action-required-labels@v1
|
10
|
+
- uses: mheap/github-action-required-labels@v1.1.2
|
11
11
|
with:
|
12
|
-
mode:
|
12
|
+
mode: minimum
|
13
13
|
count: 1
|
14
|
-
|
14
|
+
#
|
15
|
+
# Releases will group changes under Added/Fixed/Changed sub-headers
|
16
|
+
# based on labels and follwing these rules:
|
17
|
+
#
|
18
|
+
# Added: enhancement
|
19
|
+
# Fixed: bug
|
20
|
+
# Changed: maintenance, change, dependencies (used by Dependabot)
|
21
|
+
# Ignore: skip-changelog
|
22
|
+
#
|
23
|
+
labels: "enhancement, bug, maintenance, change, dependencies, skip-changelog"
|
data/README.md
CHANGED
@@ -3,9 +3,6 @@ FinApps Ruby-Client-Core
|
|
3
3
|
========================
|
4
4
|
|
5
5
|
[](https://rubygems.org/gems/finapps_core)
|
6
|
-
[](https://travis-ci.org/finapps/ruby-client-core)
|
7
|
-
[](https://codeclimate.com/github/finapps/ruby-client-core)
|
8
|
-
[](https://codeclimate.com/github/finapps/ruby-client-core/coverage)
|
9
6
|
[](http://finapps.mit-license.org)
|
10
7
|
|
11
8
|
Common library for Ruby clients.
|
@@ -18,4 +15,4 @@ See Financial Apps API [Ruby Client][ruby-client].
|
|
18
15
|
[FinancialApps.com][financialapps]
|
19
16
|
|
20
17
|
[ruby-client]: https://github.com/finapps/ruby-client
|
21
|
-
[financialapps]: https://financialapps.com
|
18
|
+
[financialapps]: https://financialapps.com
|
data/finapps_core.gemspec
CHANGED
@@ -20,19 +20,20 @@ Gem::Specification.new do |spec|
|
|
20
20
|
spec.test_files = Dir['spec/**/*.rb']
|
21
21
|
spec.require_paths = ['lib']
|
22
22
|
|
23
|
-
spec.add_runtime_dependency 'faraday', '~> 1.
|
24
|
-
spec.add_runtime_dependency 'faraday_middleware', '~> 1.0', '>= 1.0'
|
23
|
+
spec.add_runtime_dependency 'faraday', '~> 1.4', '>= 1.4.0'
|
24
|
+
spec.add_runtime_dependency 'faraday_middleware', '~> 1.0', '>= 1.0.0'
|
25
25
|
|
26
|
-
spec.add_development_dependency 'bundler', '~> 2.
|
27
|
-
spec.add_development_dependency 'codeclimate-test-reporter', '~> 1.0', '>= 1.0.9'
|
26
|
+
spec.add_development_dependency 'bundler', '~> 2.2', '>= 2.2.16'
|
28
27
|
spec.add_development_dependency 'rake', '~> 13.0', '>= 13.0.1'
|
29
28
|
spec.add_development_dependency 'rspec', '~> 3.10', '>= 3.10.0'
|
30
|
-
spec.add_development_dependency 'rubocop', '~> 1.
|
29
|
+
spec.add_development_dependency 'rubocop', '~> 1.9', '>= 1.9.1'
|
31
30
|
spec.add_development_dependency 'rubocop-performance', '~> 1.9', '>= 1.9.2'
|
32
31
|
spec.add_development_dependency 'rubocop-rake', '~> 0.5', '>= 0.5.1'
|
33
|
-
spec.add_development_dependency 'rubocop-rspec', '~> 2.
|
34
|
-
spec.add_development_dependency '
|
35
|
-
spec.add_development_dependency '
|
32
|
+
spec.add_development_dependency 'rubocop-rspec', '~> 2.2', '>= 2.2.0'
|
33
|
+
spec.add_development_dependency 'simplecov', '~> 0.21', '>= 0.21.2'
|
34
|
+
spec.add_development_dependency 'simplecov-console', '~> 0.9'
|
35
|
+
spec.add_development_dependency 'sinatra', '~> 2.1', '>= 2.1.0'
|
36
|
+
spec.add_development_dependency 'webmock', '~> 3.12', '>= 3.12.2'
|
36
37
|
|
37
38
|
spec.extra_rdoc_files = %w(README.md LICENSE)
|
38
39
|
spec.rdoc_options = %w(--line-numbers --inline-source --title finapps-ruby-core --main README.md)
|
@@ -0,0 +1,39 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'faraday/logging/formatter'
|
4
|
+
|
5
|
+
module FinAppsCore
|
6
|
+
module Logging
|
7
|
+
class ContenTypeFormatter < Faraday::Logging::Formatter
|
8
|
+
CONTENT_TYPE = 'Content-Type' unless defined?(ContenTypeFormatter::CONTENT_TYPE)
|
9
|
+
|
10
|
+
def response(env)
|
11
|
+
status = proc { "Status #{env.status}" }
|
12
|
+
public_send(log_level, 'response', &status)
|
13
|
+
|
14
|
+
log_headers('response', env.response_headers) if log_headers?(:response)
|
15
|
+
log_body('response', env[:body]) if env[:body] && log_body?(:response) && loggable?(env)
|
16
|
+
end
|
17
|
+
|
18
|
+
private
|
19
|
+
|
20
|
+
def loggable?(env)
|
21
|
+
loggable_types = ['application/json', 'text/plain']
|
22
|
+
process_response_type?(env, loggable_types)
|
23
|
+
end
|
24
|
+
|
25
|
+
def process_response_type?(env, content_types)
|
26
|
+
type = response_type(env)
|
27
|
+
content_types.empty? || content_types.any? do |pattern|
|
28
|
+
pattern.is_a?(Regexp) ? type.match?(pattern) : type == pattern
|
29
|
+
end
|
30
|
+
end
|
31
|
+
|
32
|
+
def response_type(env)
|
33
|
+
type = env[:response_headers][CONTENT_TYPE].to_s
|
34
|
+
type = type.split(';', 2).first if type.index(';')
|
35
|
+
type
|
36
|
+
end
|
37
|
+
end
|
38
|
+
end
|
39
|
+
end
|
@@ -27,7 +27,7 @@ module FinAppsCore
|
|
27
27
|
def assign_attributes(new_attributes)
|
28
28
|
unless new_attributes.respond_to?(:each_pair)
|
29
29
|
fail ArgumentError, 'When assigning attributes, '\
|
30
|
-
|
30
|
+
"you must pass a hash argument, #{new_attributes.class} passed."
|
31
31
|
end
|
32
32
|
return if new_attributes.empty?
|
33
33
|
|
@@ -19,7 +19,10 @@ module FinAppsCore
|
|
19
19
|
end
|
20
20
|
|
21
21
|
def init_connection_response(conn, logger)
|
22
|
-
conn.response :logger, logger, bodies: true
|
22
|
+
conn.response :logger, logger, bodies: true,
|
23
|
+
headers: true,
|
24
|
+
formatter: FinAppsCore::Logging::ContenTypeFormatter,
|
25
|
+
log_level: :debug
|
23
26
|
conn.response :json,
|
24
27
|
content_type: /\bjson$/,
|
25
28
|
parser_options: {symbolize_names: true}
|
@@ -5,11 +5,11 @@ require 'logger'
|
|
5
5
|
module FinAppsCore
|
6
6
|
module REST
|
7
7
|
module Defaults
|
8
|
-
API_VERSION = '
|
8
|
+
API_VERSION = '5'
|
9
9
|
|
10
10
|
# noinspection SpellCheckingInspection
|
11
11
|
DEFAULTS = {
|
12
|
-
host: 'https://api.
|
12
|
+
host: 'https://api.allcleardecisioning.com',
|
13
13
|
timeout: 30,
|
14
14
|
proxy: nil,
|
15
15
|
log_level: Logger::UNKNOWN
|
data/lib/finapps_core/version.rb
CHANGED
data/lib/finapps_core.rb
CHANGED
@@ -12,6 +12,8 @@ require 'finapps_core/utils/loggeable'
|
|
12
12
|
require 'finapps_core/utils/validatable'
|
13
13
|
require 'finapps_core/error'
|
14
14
|
|
15
|
+
require 'finapps_core/logging/content_type_formatter'
|
16
|
+
|
15
17
|
require 'finapps_core/middleware/request/tenant_authentication'
|
16
18
|
require 'finapps_core/middleware/request/no_encoding_basic_authentication'
|
17
19
|
require 'finapps_core/middleware/request/accept_json'
|
@@ -0,0 +1,53 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'stringio'
|
4
|
+
require 'logger'
|
5
|
+
|
6
|
+
RSpec.describe Faraday::Response::Logger do
|
7
|
+
let(:string_io) { StringIO.new }
|
8
|
+
let(:logger) { Logger.new(string_io) }
|
9
|
+
let(:conn) do
|
10
|
+
rubbles = %w(Barney Betty)
|
11
|
+
logger_options = {
|
12
|
+
bodies: true,
|
13
|
+
formatter: FinAppsCore::Logging::ContenTypeFormatter
|
14
|
+
}
|
15
|
+
|
16
|
+
Faraday.new do |b|
|
17
|
+
b.response :logger, logger, logger_options
|
18
|
+
b.adapter :test do |stubs|
|
19
|
+
stubs.get('/text') { [200, {'Content-Type' => 'text/plain'}, 'hello'] }
|
20
|
+
stubs.get('/json') { [200, {'Content-Type' => 'application/json'}, rubbles] }
|
21
|
+
stubs.get('/pdf') { [200, {'Content-Type' => 'application/pdf'}, 'binary-here'] }
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
25
|
+
|
26
|
+
before do
|
27
|
+
logger.level = Logger::DEBUG
|
28
|
+
end
|
29
|
+
|
30
|
+
context 'when content type is text/plain' do
|
31
|
+
before { conn.get '/text' }
|
32
|
+
|
33
|
+
it 'logs response body' do
|
34
|
+
expect(string_io.string).to match('hello')
|
35
|
+
end
|
36
|
+
end
|
37
|
+
|
38
|
+
context 'when content type is application/json' do
|
39
|
+
before { conn.get '/json' }
|
40
|
+
|
41
|
+
it 'logs response body' do
|
42
|
+
expect(string_io.string).to match('[\"Barney\", \"Betty\"]')
|
43
|
+
end
|
44
|
+
end
|
45
|
+
|
46
|
+
context 'when content type is something else' do
|
47
|
+
before { conn.get '/pdf' }
|
48
|
+
|
49
|
+
it 'does not log response body' do
|
50
|
+
expect(string_io.string).not_to match('binary-here')
|
51
|
+
end
|
52
|
+
end
|
53
|
+
end
|
data/spec/rest/defaults_spec.rb
CHANGED
@@ -6,12 +6,25 @@ RSpec.describe FinAppsCore::REST::Defaults do
|
|
6
6
|
describe 'set constants' do
|
7
7
|
before { stub_const(described_class.to_s, fake_class) }
|
8
8
|
|
9
|
-
it('sets API_VERSION') { expect(described_class::API_VERSION).to eq '
|
9
|
+
it('sets API_VERSION') { expect(described_class::API_VERSION).to eq '5' }
|
10
10
|
it('sets DEFAULTS') { expect(described_class::DEFAULTS).to be_a(Hash) }
|
11
11
|
it('freezes DEFAULTS') { expect(described_class::DEFAULTS).to be_frozen }
|
12
|
-
|
13
|
-
it('sets DEFAULTS[:
|
14
|
-
|
15
|
-
|
12
|
+
|
13
|
+
it('sets DEFAULTS[:host]') {
|
14
|
+
expected = 'https://api.allcleardecisioning.com'
|
15
|
+
expect(described_class::DEFAULTS[:host]).to eq expected
|
16
|
+
}
|
17
|
+
|
18
|
+
it('sets DEFAULTS[:timeout]') {
|
19
|
+
expect(described_class::DEFAULTS[:timeout]).to eq 30
|
20
|
+
}
|
21
|
+
|
22
|
+
it('does not set DEFAULTS[:proxy]') {
|
23
|
+
expect(described_class::DEFAULTS[:proxy]).to be_nil
|
24
|
+
}
|
25
|
+
|
26
|
+
it('sets DEFAULTS[:log_level]') {
|
27
|
+
expect(described_class::DEFAULTS[:log_level]).to eq Logger::UNKNOWN
|
28
|
+
}
|
16
29
|
end
|
17
30
|
end
|
data/spec/spec_helper.rb
CHANGED
@@ -1,10 +1,19 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
if ENV['
|
4
|
-
# require 'codeclimate-test-reporter'
|
5
|
-
# CodeClimate::TestReporter.start
|
3
|
+
if ENV['COVERAGE'] == 'true'
|
6
4
|
require 'simplecov'
|
7
|
-
|
5
|
+
require 'simplecov-console'
|
6
|
+
|
7
|
+
SimpleCov.formatter = SimpleCov::Formatter::MultiFormatter[
|
8
|
+
SimpleCov::Formatter::HTMLFormatter,
|
9
|
+
SimpleCov::Formatter::Console,
|
10
|
+
]
|
11
|
+
|
12
|
+
SimpleCov.start do
|
13
|
+
track_files 'lib/**/*.rb'
|
14
|
+
end
|
15
|
+
|
16
|
+
puts "Using SimpleCov v#{SimpleCov::VERSION}"
|
8
17
|
end
|
9
18
|
|
10
19
|
require 'bundler/setup'
|
@@ -33,7 +42,6 @@ RSpec.configure do |config|
|
|
33
42
|
base_url = "#{FinAppsCore::REST::Defaults::DEFAULTS[:host]}/v#{FinAppsCore::REST::Defaults::API_VERSION}/"
|
34
43
|
stub_request(:any, /#{base_url}/).to_rack(::FakeApi)
|
35
44
|
end
|
36
|
-
WebMock.disable_net_connect!(allow: 'codeclimate.com')
|
37
45
|
end
|
38
46
|
|
39
47
|
VALID_CREDENTIALS = {identifier: '49fb918d-7e71-44dd-7378-58f19606df2a',
|
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:
|
4
|
+
version: 6.0.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Erich Quintero
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2021-
|
11
|
+
date: 2021-08-26 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: faraday
|
@@ -16,20 +16,20 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: '1.
|
19
|
+
version: '1.4'
|
20
20
|
- - ">="
|
21
21
|
- !ruby/object:Gem::Version
|
22
|
-
version: 1.0
|
22
|
+
version: 1.4.0
|
23
23
|
type: :runtime
|
24
24
|
prerelease: false
|
25
25
|
version_requirements: !ruby/object:Gem::Requirement
|
26
26
|
requirements:
|
27
27
|
- - "~>"
|
28
28
|
- !ruby/object:Gem::Version
|
29
|
-
version: '1.
|
29
|
+
version: '1.4'
|
30
30
|
- - ">="
|
31
31
|
- !ruby/object:Gem::Version
|
32
|
-
version: 1.0
|
32
|
+
version: 1.4.0
|
33
33
|
- !ruby/object:Gem::Dependency
|
34
34
|
name: faraday_middleware
|
35
35
|
requirement: !ruby/object:Gem::Requirement
|
@@ -39,7 +39,7 @@ dependencies:
|
|
39
39
|
version: '1.0'
|
40
40
|
- - ">="
|
41
41
|
- !ruby/object:Gem::Version
|
42
|
-
version:
|
42
|
+
version: 1.0.0
|
43
43
|
type: :runtime
|
44
44
|
prerelease: false
|
45
45
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -49,47 +49,27 @@ dependencies:
|
|
49
49
|
version: '1.0'
|
50
50
|
- - ">="
|
51
51
|
- !ruby/object:Gem::Version
|
52
|
-
version:
|
52
|
+
version: 1.0.0
|
53
53
|
- !ruby/object:Gem::Dependency
|
54
54
|
name: bundler
|
55
55
|
requirement: !ruby/object:Gem::Requirement
|
56
56
|
requirements:
|
57
57
|
- - "~>"
|
58
58
|
- !ruby/object:Gem::Version
|
59
|
-
version: '2.
|
59
|
+
version: '2.2'
|
60
60
|
- - ">="
|
61
61
|
- !ruby/object:Gem::Version
|
62
|
-
version: 2.
|
62
|
+
version: 2.2.16
|
63
63
|
type: :development
|
64
64
|
prerelease: false
|
65
65
|
version_requirements: !ruby/object:Gem::Requirement
|
66
66
|
requirements:
|
67
67
|
- - "~>"
|
68
68
|
- !ruby/object:Gem::Version
|
69
|
-
version: '2.
|
70
|
-
- - ">="
|
71
|
-
- !ruby/object:Gem::Version
|
72
|
-
version: 2.0.2
|
73
|
-
- !ruby/object:Gem::Dependency
|
74
|
-
name: codeclimate-test-reporter
|
75
|
-
requirement: !ruby/object:Gem::Requirement
|
76
|
-
requirements:
|
77
|
-
- - "~>"
|
78
|
-
- !ruby/object:Gem::Version
|
79
|
-
version: '1.0'
|
80
|
-
- - ">="
|
81
|
-
- !ruby/object:Gem::Version
|
82
|
-
version: 1.0.9
|
83
|
-
type: :development
|
84
|
-
prerelease: false
|
85
|
-
version_requirements: !ruby/object:Gem::Requirement
|
86
|
-
requirements:
|
87
|
-
- - "~>"
|
88
|
-
- !ruby/object:Gem::Version
|
89
|
-
version: '1.0'
|
69
|
+
version: '2.2'
|
90
70
|
- - ">="
|
91
71
|
- !ruby/object:Gem::Version
|
92
|
-
version:
|
72
|
+
version: 2.2.16
|
93
73
|
- !ruby/object:Gem::Dependency
|
94
74
|
name: rake
|
95
75
|
requirement: !ruby/object:Gem::Requirement
|
@@ -136,20 +116,20 @@ dependencies:
|
|
136
116
|
requirements:
|
137
117
|
- - "~>"
|
138
118
|
- !ruby/object:Gem::Version
|
139
|
-
version: '1.
|
119
|
+
version: '1.9'
|
140
120
|
- - ">="
|
141
121
|
- !ruby/object:Gem::Version
|
142
|
-
version: 1.
|
122
|
+
version: 1.9.1
|
143
123
|
type: :development
|
144
124
|
prerelease: false
|
145
125
|
version_requirements: !ruby/object:Gem::Requirement
|
146
126
|
requirements:
|
147
127
|
- - "~>"
|
148
128
|
- !ruby/object:Gem::Version
|
149
|
-
version: '1.
|
129
|
+
version: '1.9'
|
150
130
|
- - ">="
|
151
131
|
- !ruby/object:Gem::Version
|
152
|
-
version: 1.
|
132
|
+
version: 1.9.1
|
153
133
|
- !ruby/object:Gem::Dependency
|
154
134
|
name: rubocop-performance
|
155
135
|
requirement: !ruby/object:Gem::Requirement
|
@@ -196,60 +176,94 @@ dependencies:
|
|
196
176
|
requirements:
|
197
177
|
- - "~>"
|
198
178
|
- !ruby/object:Gem::Version
|
199
|
-
version: '2.
|
179
|
+
version: '2.2'
|
200
180
|
- - ">="
|
201
181
|
- !ruby/object:Gem::Version
|
202
|
-
version: 2.
|
182
|
+
version: 2.2.0
|
203
183
|
type: :development
|
204
184
|
prerelease: false
|
205
185
|
version_requirements: !ruby/object:Gem::Requirement
|
206
186
|
requirements:
|
207
187
|
- - "~>"
|
208
188
|
- !ruby/object:Gem::Version
|
209
|
-
version: '2.
|
189
|
+
version: '2.2'
|
210
190
|
- - ">="
|
211
191
|
- !ruby/object:Gem::Version
|
212
|
-
version: 2.
|
192
|
+
version: 2.2.0
|
193
|
+
- !ruby/object:Gem::Dependency
|
194
|
+
name: simplecov
|
195
|
+
requirement: !ruby/object:Gem::Requirement
|
196
|
+
requirements:
|
197
|
+
- - "~>"
|
198
|
+
- !ruby/object:Gem::Version
|
199
|
+
version: '0.21'
|
200
|
+
- - ">="
|
201
|
+
- !ruby/object:Gem::Version
|
202
|
+
version: 0.21.2
|
203
|
+
type: :development
|
204
|
+
prerelease: false
|
205
|
+
version_requirements: !ruby/object:Gem::Requirement
|
206
|
+
requirements:
|
207
|
+
- - "~>"
|
208
|
+
- !ruby/object:Gem::Version
|
209
|
+
version: '0.21'
|
210
|
+
- - ">="
|
211
|
+
- !ruby/object:Gem::Version
|
212
|
+
version: 0.21.2
|
213
|
+
- !ruby/object:Gem::Dependency
|
214
|
+
name: simplecov-console
|
215
|
+
requirement: !ruby/object:Gem::Requirement
|
216
|
+
requirements:
|
217
|
+
- - "~>"
|
218
|
+
- !ruby/object:Gem::Version
|
219
|
+
version: '0.9'
|
220
|
+
type: :development
|
221
|
+
prerelease: false
|
222
|
+
version_requirements: !ruby/object:Gem::Requirement
|
223
|
+
requirements:
|
224
|
+
- - "~>"
|
225
|
+
- !ruby/object:Gem::Version
|
226
|
+
version: '0.9'
|
213
227
|
- !ruby/object:Gem::Dependency
|
214
228
|
name: sinatra
|
215
229
|
requirement: !ruby/object:Gem::Requirement
|
216
230
|
requirements:
|
217
231
|
- - "~>"
|
218
232
|
- !ruby/object:Gem::Version
|
219
|
-
version: '2.
|
233
|
+
version: '2.1'
|
220
234
|
- - ">="
|
221
235
|
- !ruby/object:Gem::Version
|
222
|
-
version: 2.0
|
236
|
+
version: 2.1.0
|
223
237
|
type: :development
|
224
238
|
prerelease: false
|
225
239
|
version_requirements: !ruby/object:Gem::Requirement
|
226
240
|
requirements:
|
227
241
|
- - "~>"
|
228
242
|
- !ruby/object:Gem::Version
|
229
|
-
version: '2.
|
243
|
+
version: '2.1'
|
230
244
|
- - ">="
|
231
245
|
- !ruby/object:Gem::Version
|
232
|
-
version: 2.0
|
246
|
+
version: 2.1.0
|
233
247
|
- !ruby/object:Gem::Dependency
|
234
248
|
name: webmock
|
235
249
|
requirement: !ruby/object:Gem::Requirement
|
236
250
|
requirements:
|
237
251
|
- - "~>"
|
238
252
|
- !ruby/object:Gem::Version
|
239
|
-
version: '3.
|
253
|
+
version: '3.12'
|
240
254
|
- - ">="
|
241
255
|
- !ruby/object:Gem::Version
|
242
|
-
version: 3.
|
256
|
+
version: 3.12.2
|
243
257
|
type: :development
|
244
258
|
prerelease: false
|
245
259
|
version_requirements: !ruby/object:Gem::Requirement
|
246
260
|
requirements:
|
247
261
|
- - "~>"
|
248
262
|
- !ruby/object:Gem::Version
|
249
|
-
version: '3.
|
263
|
+
version: '3.12'
|
250
264
|
- - ">="
|
251
265
|
- !ruby/object:Gem::Version
|
252
|
-
version: 3.
|
266
|
+
version: 3.12.2
|
253
267
|
description: A simple library for communicating with the FinApps REST API. Core functionality.
|
254
268
|
email:
|
255
269
|
- erich@financialapps.com
|
@@ -260,8 +274,9 @@ extra_rdoc_files:
|
|
260
274
|
- LICENSE
|
261
275
|
files:
|
262
276
|
- ".codeclimate.yml"
|
277
|
+
- ".github/dependabot.yml"
|
263
278
|
- ".github/release-drafter.yml"
|
264
|
-
- ".github/workflows/
|
279
|
+
- ".github/workflows/ci.yaml"
|
265
280
|
- ".github/workflows/release-drafter.yml"
|
266
281
|
- ".github/workflows/release.yml"
|
267
282
|
- ".github/workflows/verify-pr-labeled.yml"
|
@@ -284,6 +299,7 @@ files:
|
|
284
299
|
- lib/core_extensions/string/json_to_hash.rb
|
285
300
|
- lib/finapps_core.rb
|
286
301
|
- lib/finapps_core/error.rb
|
302
|
+
- lib/finapps_core/logging/content_type_formatter.rb
|
287
303
|
- lib/finapps_core/middleware/middleware.rb
|
288
304
|
- lib/finapps_core/middleware/request/accept_json.rb
|
289
305
|
- lib/finapps_core/middleware/request/no_encoding_basic_authentication.rb
|
@@ -304,6 +320,7 @@ files:
|
|
304
320
|
- lib/finapps_core/version.rb
|
305
321
|
- lib/tasks/releaser.rake
|
306
322
|
- spec/core_extensions/object/is_integer_spec.rb
|
323
|
+
- spec/logging/conten_type_formatter_spec.rb
|
307
324
|
- spec/middleware/request/accept_json_spec.rb
|
308
325
|
- spec/middleware/request/no_encoding_basic_authentication_spec.rb
|
309
326
|
- spec/middleware/request/request_id_spec.rb
|
@@ -357,21 +374,22 @@ signing_key:
|
|
357
374
|
specification_version: 4
|
358
375
|
summary: FinApps REST API ruby client - Core.
|
359
376
|
test_files:
|
377
|
+
- spec/rest/base_client_spec.rb
|
378
|
+
- spec/rest/defaults_spec.rb
|
379
|
+
- spec/rest/configuration_spec.rb
|
380
|
+
- spec/rest/resources_spec.rb
|
381
|
+
- spec/rest/credentials_spec.rb
|
360
382
|
- spec/spec_helpers/client.rb
|
361
|
-
- spec/
|
362
|
-
- spec/
|
363
|
-
- spec/
|
364
|
-
- spec/support/fake_api.rb
|
365
|
-
- spec/middleware/request/no_encoding_basic_authentication_spec.rb
|
383
|
+
- spec/middleware/request/user_agent_spec.rb
|
384
|
+
- spec/middleware/request/request_id_spec.rb
|
385
|
+
- spec/middleware/request/x_consumer_id_spec.rb
|
366
386
|
- spec/middleware/request/x_tenant_id_spec.rb
|
367
387
|
- spec/middleware/request/tenant_authentication_spec.rb
|
368
388
|
- spec/middleware/request/accept_json_spec.rb
|
369
|
-
- spec/middleware/request/
|
370
|
-
- spec/middleware/request/x_consumer_id_spec.rb
|
371
|
-
- spec/middleware/request/request_id_spec.rb
|
389
|
+
- spec/middleware/request/no_encoding_basic_authentication_spec.rb
|
372
390
|
- spec/middleware/response/raise_error_spec.rb
|
373
|
-
- spec/
|
374
|
-
- spec/
|
375
|
-
- spec/
|
376
|
-
- spec/
|
377
|
-
- spec/
|
391
|
+
- spec/support/fake_api.rb
|
392
|
+
- spec/core_extensions/object/is_integer_spec.rb
|
393
|
+
- spec/logging/conten_type_formatter_spec.rb
|
394
|
+
- spec/spec_helper.rb
|
395
|
+
- spec/utils/validatable_spec.rb
|
data/.github/workflows/main.yaml
DELETED
@@ -1,37 +0,0 @@
|
|
1
|
-
name: Continuous Integration
|
2
|
-
|
3
|
-
on: [push, pull_request]
|
4
|
-
|
5
|
-
jobs:
|
6
|
-
ci:
|
7
|
-
if: "!contains(github.event.head_commit.message, 'skip ci')"
|
8
|
-
runs-on: ubuntu-latest
|
9
|
-
|
10
|
-
strategy:
|
11
|
-
fail-fast: true
|
12
|
-
|
13
|
-
steps:
|
14
|
-
- name: Checkout source code
|
15
|
-
uses: actions/checkout@v2
|
16
|
-
|
17
|
-
- name: Install required ruby version
|
18
|
-
uses: ruby/setup-ruby@v1
|
19
|
-
|
20
|
-
- uses: actions/cache@v2
|
21
|
-
with:
|
22
|
-
path: vendor/bundle
|
23
|
-
key: ${{ runner.os }}-gems-${{ hashFiles('**/Gemfile.lock') }}
|
24
|
-
restore-keys: |
|
25
|
-
${{ runner.os }}-gems-
|
26
|
-
|
27
|
-
- name: Install gems
|
28
|
-
run: |
|
29
|
-
gem install -N bundler
|
30
|
-
bundle config path vendor/bundle
|
31
|
-
bundle install --jobs 4 --retry 3
|
32
|
-
|
33
|
-
- name: Run rubocop
|
34
|
-
run: bundle exec rubocop
|
35
|
-
|
36
|
-
- name: Run tests
|
37
|
-
run: bundle exec rspec
|