finapps 6.9.0 → 6.10.0

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: d40d367eccfbf2e294b583650afe8ca7f73478c3fb0d4b989560965552422af3
4
- data.tar.gz: a267d69a66d99def1f79c0afebd02ba58fd6b8177aae4f041988eb04ba6469d9
3
+ metadata.gz: 765aad4ece03d6e507cd77930fa24fb983911f4773c30adc09399695c62a6c0d
4
+ data.tar.gz: 7bd544c214f84ec23c64ddc45a732ad820d5faebda7a1c7591a6c46b145dded8
5
5
  SHA512:
6
- metadata.gz: 0efaad47504531652d32fb805477f5c1a253e656615402b54f787334813929674e871f4ca5eaf0a511d2f9257a805015de13afd851a150f24b6c61decc899e77
7
- data.tar.gz: 8f45fe8f7c2e92351bad40af3a3d29868c908b0d7794bc006b67be12c2fbe8a6452d973beba135f6be5fd5da217b2e36cf694aee3af30eb50e1715cbf6a1ca51
6
+ metadata.gz: 7f7475687fc24f0f4480a0ad229e9ed8fdb9b6a6b4fb7b70117327187678006e3c1476294d2bb2753d2084051bc3350afa81ca892fa9b4d9e9def5e7793e1a40
7
+ data.tar.gz: 73f047dfbfb2d3e1df537a69145d88a373d80b27799b3a1bf659b9d84c9603fe8048db6e85fe16bb7b4d3b216ddc8272896bb30e95a0658b9467234c89eaa31b
@@ -16,11 +16,10 @@ jobs:
16
16
  fail-fast: false
17
17
  matrix:
18
18
  os: [ubuntu-latest]
19
- ruby: [2.6, 2.7, '3.0']
20
19
  runs-on: ${{ matrix.os }}
21
20
  steps:
22
21
  - name: Checkout source code
23
- uses: actions/checkout@v2.4.0
22
+ uses: actions/checkout@v3
24
23
 
25
24
  - name: Install required ruby version
26
25
  uses: ruby/setup-ruby@v1
@@ -11,7 +11,7 @@ jobs:
11
11
 
12
12
  steps:
13
13
  - name: Checkout source code
14
- uses: actions/checkout@v2.4.0
14
+ uses: actions/checkout@v3
15
15
  with:
16
16
  persist-credentials: false
17
17
  fetch-depth: 0 # otherwise, you will fail to push refs to dest repo
data/.gitignore CHANGED
@@ -1,3 +1,4 @@
1
+ bin/
1
2
  /spec/examples.txt
2
3
  coverage/
3
4
  *.gem
data/.rubocop.yml CHANGED
@@ -5,7 +5,7 @@ require:
5
5
  - rubocop-performance
6
6
 
7
7
  AllCops:
8
- TargetRubyVersion: 2.6
8
+ TargetRubyVersion: 2.7
9
9
  Exclude:
10
10
  - "vendor/**/*"
11
11
  - "bin/**/*"
data/.ruby-version CHANGED
@@ -1 +1 @@
1
- ruby-2.7.2
1
+ ruby-2.7.5
data/.travis.yml CHANGED
@@ -6,7 +6,7 @@ cache:
6
6
  bundler: true
7
7
 
8
8
  rvm:
9
- - 2.6
9
+ - 2.7
10
10
 
11
11
  before_install:
12
12
  - "echo 'gem: --no-document' > ~/.gemrc"
data/finapps.gemspec CHANGED
@@ -20,7 +20,7 @@ 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 'finapps_core', '~> 6.0', '>= 6.0.1'
23
+ spec.add_runtime_dependency 'finapps_core', '~> 6.0', '>= 6.0.2'
24
24
 
25
25
  spec.add_development_dependency 'bundler', '~> 2.2', '>= 2.2.16'
26
26
  spec.add_development_dependency 'rake', '~> 13.0', '>= 13.0.1'
@@ -19,6 +19,7 @@ module FinApps
19
19
  documents_uploads
20
20
  esign_templates
21
21
  orders
22
+ locations
22
23
  order_assignments
23
24
  order_notifications
24
25
  order_refreshes
@@ -45,6 +46,7 @@ module FinApps
45
46
  screening_metadatas
46
47
  sessions
47
48
  signed_documents_downloads
49
+ states
48
50
  tenant_settings
49
51
  tenant_app_settings
50
52
  verix_metadata
@@ -68,7 +70,7 @@ module FinApps
68
70
 
69
71
  QUERY_RESOURCES.each do |method|
70
72
  define_method(method) do
71
- class_name = capitalize(method.to_s.gsub(/query_/, ''))
73
+ class_name = method.to_s.gsub(/query_/, '').capitalize
72
74
  variable = "@#{method}"
73
75
 
74
76
  method_definition(method, class_name, variable) do |_|
@@ -0,0 +1,17 @@
1
+ # frozen_string_literal: true
2
+
3
+ module FinApps
4
+ module REST
5
+ class Locations < FinAppsCore::REST::Resources # :nodoc:
6
+ def list(filter = nil)
7
+ path = "#{end_point}?filter=#{filter}" unless filter.nil?
8
+ super path
9
+ end
10
+
11
+ def update(key, params = {})
12
+ path = resource_path(key)
13
+ send_request path, :put, params
14
+ end
15
+ end
16
+ end
17
+ end
@@ -83,7 +83,7 @@ module FinApps
83
83
  end
84
84
 
85
85
  def to_integers_array(role)
86
- (role.respond_to?(:map) ? role : [role]).map {|i| Integer(i) }.compact
86
+ (role.respond_to?(:map) ? role : [role]).filter_map {|i| Integer(i) }
87
87
  end
88
88
  end
89
89
  end
@@ -0,0 +1,8 @@
1
+ # frozen_string_literal: true
2
+
3
+ module FinApps
4
+ module REST
5
+ class States < FinAppsCore::REST::Resources # :nodoc:
6
+ end
7
+ end
8
+ end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module FinApps
4
- VERSION = '6.9.0'
4
+ VERSION = '6.10.0'
5
5
  end
data/lib/finapps.rb CHANGED
@@ -6,6 +6,7 @@ require 'faraday_middleware'
6
6
  require 'finapps_core'
7
7
  require 'finapps/rest/actors'
8
8
  require 'finapps/rest/version'
9
+ require 'finapps/rest/locations'
9
10
  require 'finapps/rest/consumers'
10
11
  require 'finapps/rest/consumer_login_tokens'
11
12
  require 'finapps/rest/sessions'
@@ -40,6 +41,7 @@ require 'finapps/rest/documents_upload_types'
40
41
  require 'finapps/rest/signed_documents_downloads'
41
42
  require 'finapps/rest/documents_orders_notifications'
42
43
  require 'finapps/rest/screenings'
44
+ require 'finapps/rest/states'
43
45
  require 'finapps/rest/screening_metadatas'
44
46
 
45
47
  require 'finapps/rest/plaid/plaid_resources'
@@ -12,7 +12,8 @@ RSpec.describe FinApps::REST::Client do
12
12
  context 'with an instance of Client' do
13
13
  subject(:client) { described_class.new(:company_token) }
14
14
 
15
- FinApps::REST::Client::RESOURCES.each do |method|
15
+ (FinApps::REST::Client::RESOURCES +
16
+ FinApps::REST::Client::QUERY_RESOURCES).each do |method|
16
17
  it("responds to #{method}") { expect(client).to respond_to(method) }
17
18
 
18
19
  it "memoizes the result of #{method}" do
@@ -0,0 +1,113 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'digest'
4
+
5
+ RSpec.describe FinApps::REST::Locations do
6
+ include SpecHelpers::Client
7
+
8
+ describe '#list' do
9
+ subject(:list) { described_class.new(client).list filter }
10
+
11
+ let(:filter) { nil }
12
+
13
+ it_behaves_like 'an API request'
14
+ it_behaves_like 'a successful request'
15
+ it { expect(list[RESULTS]).to all(have_key(:name)) }
16
+ it { expect(list[RESULTS]).to all(have_key(:state)) }
17
+
18
+ context 'when the JMESPath filter is invalid' do
19
+ let(:filter) { 'invalid' }
20
+
21
+ it_behaves_like 'a failed request'
22
+ end
23
+ end
24
+
25
+ describe '#create' do
26
+ subject(:create) { described_class.new(client).create(params) }
27
+
28
+ let(:params) { {name: 'Quick Mart Urgent Care', state: {code: 'MD'}} }
29
+
30
+ it_behaves_like 'an API request'
31
+ it_behaves_like 'a successful request'
32
+ it { expect(create[RESULTS]).to be_nil }
33
+ end
34
+
35
+ RSpec.shared_examples 'a request to a not found resource' do
36
+ it_behaves_like 'a failed request'
37
+ it('returns a 404 error') do
38
+ expect(subject[ERROR_MESSAGES].first)
39
+ .to(eq('the server responded with status 404'))
40
+ end
41
+ end
42
+
43
+ describe '#show' do
44
+ subject(:show) { described_class.new(client).show(key) }
45
+
46
+ let(:key) { Digest::SHA256.hexdigest('Quick Mart Urgent CareMD,MD') }
47
+
48
+ it_behaves_like 'an API request'
49
+ it_behaves_like 'a successful request'
50
+ it { expect(show[RESULTS]).to have_key(:name) }
51
+ it { expect(show[RESULTS]).to have_key(:state) }
52
+
53
+ context 'when key is not a valid SHA256' do
54
+ let(:key) { 'invalid_SHA256' }
55
+
56
+ it_behaves_like 'a failed request'
57
+ end
58
+
59
+ context 'when key does not match any location' do
60
+ let(:key) { 'not_found' }
61
+
62
+ it_behaves_like 'a failed request'
63
+ it_behaves_like 'a request to a not found resource'
64
+ end
65
+ end
66
+
67
+ describe '#update' do
68
+ subject(:update) { described_class.new(client).update(key, params) }
69
+
70
+ let(:key) { Digest::SHA256.hexdigest('Quick Mart Urgent CareMD,MD') }
71
+ let(:params) { {name: 'Quick Mart Non-Urgent Care', state: {code: 'MD'}} }
72
+
73
+ it_behaves_like 'an API request'
74
+ it_behaves_like 'a successful request'
75
+ it { expect(update[RESULTS]).to be_nil }
76
+
77
+ context 'when key is not a valid SHA256' do
78
+ let(:key) { 'invalid_SHA256' }
79
+
80
+ it_behaves_like 'a failed request'
81
+ end
82
+
83
+ context 'when key does not match any location' do
84
+ let(:key) { 'not_found' }
85
+
86
+ it_behaves_like 'a failed request'
87
+ it_behaves_like 'a request to a not found resource'
88
+ end
89
+ end
90
+
91
+ describe '#destroy' do
92
+ subject(:destroy) { described_class.new(client).destroy(key) }
93
+
94
+ let(:key) { Digest::SHA256.hexdigest('Quick Mart Urgent CareMD,MD') }
95
+
96
+ it_behaves_like 'an API request'
97
+ it_behaves_like 'a successful request'
98
+ it { expect(destroy[RESULTS]).to be_nil }
99
+
100
+ context 'when key is not a valid SHA256' do
101
+ let(:key) { 'invalid_SHA256' }
102
+
103
+ it_behaves_like 'a failed request'
104
+ end
105
+
106
+ context 'when key does not match any location' do
107
+ let(:key) { 'not_found' }
108
+
109
+ it_behaves_like 'a failed request'
110
+ it_behaves_like 'a request to a not found resource'
111
+ end
112
+ end
113
+ end
@@ -0,0 +1,14 @@
1
+ # frozen_string_literal: true
2
+
3
+ RSpec.describe FinApps::REST::States do
4
+ include SpecHelpers::Client
5
+
6
+ describe '#list' do
7
+ subject(:list) { described_class.new(client).list }
8
+
9
+ it_behaves_like 'an API request'
10
+ it_behaves_like 'a successful request'
11
+
12
+ it('returns a list') { expect(list[RESULTS]).to be_a(Array) }
13
+ end
14
+ end
data/spec/spec_helper.rb CHANGED
@@ -24,6 +24,8 @@ require 'webmock/rspec'
24
24
 
25
25
  # noinspection RubyResolve
26
26
  require File.join(File.dirname(__dir__), 'spec/support/fake_api')
27
+ require File.join(File.dirname(__dir__), 'spec/spec_helpers/client')
28
+ require File.join(File.dirname(__dir__), 'spec/spec_helpers/api_request')
27
29
 
28
30
  RSpec.configure do |config|
29
31
  config.expect_with(:rspec) do |expectations|
@@ -1,29 +1,30 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- RSpec.shared_examples 'an API request' do |_parameter|
3
+ RSpec.shared_examples 'an API request' do
4
4
  it { expect { subject }.not_to raise_error }
5
-
6
5
  it('returns an array') { expect(subject).to be_a(Array) }
7
6
  end
8
7
 
9
- RSpec.shared_examples 'a successful request' do |_parameter|
8
+ RSpec.shared_examples 'a successful request' do
10
9
  it('returns no error messages') do
11
10
  expect(subject[ERROR_MESSAGES]).to be_empty
12
11
  end
13
12
  end
14
13
 
15
- RSpec.shared_examples 'a request that raises an error' do |parameter|
16
- it do
17
- expect { subject }.to raise_error(
18
- parameter || FinAppsCore::MissingArgumentsError
19
- )
20
- end
14
+ RSpec.shared_examples 'a failed request' do
15
+ it { expect(subject[RESULTS]).to be_nil }
16
+ it { expect(subject[ERROR_MESSAGES]).not_to be_empty }
17
+ end
18
+
19
+ RSpec.shared_examples 'a request that raises an error' do |err|
20
+ err = FinAppsCore::MissingArgumentsError if err.nil?
21
+ it { expect { subject }.to raise_error(err) }
21
22
  end
22
23
 
23
24
  RSpec.shared_examples 'a GET index request' do
24
- it { expect(results).to have_key(:records) }
25
+ it { expect(subject[RESULTS]).to have_key(:records) }
25
26
 
26
27
  it('returns an array of records') do
27
- expect(results[:records]).to be_a(Array)
28
+ expect(subject[RESULTS][:records]).to be_a(Array)
28
29
  end
29
30
  end
@@ -1,11 +1,14 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require 'sinatra/base'
4
+
4
5
  require_relative 'documents_uploads_routes'
5
6
  require_relative 'screenings_routes'
6
7
  require_relative 'routes/actors'
8
+ require_relative 'routes/locations'
7
9
  require_relative 'routes/screening_metadatas'
8
10
  require_relative 'routes/query_screenings'
11
+ require_relative 'routes/states'
9
12
 
10
13
  module Fake
11
14
  # the FakeApi class is used to mock API requests while testing.
@@ -23,9 +26,11 @@ module Fake
23
26
 
24
27
  include ActorsRoutes
25
28
  include DocumentsUploadsRoutes
29
+ include LocationsRoutes
30
+ include QueryScreeningRoutes
26
31
  include ScreeningsRoutes
27
32
  include ScreeningMetadatasRoutes
28
- include QueryScreeningRoutes
33
+ include StateRoutes
29
34
 
30
35
  # verix_metadata
31
36
  get("/#{version}/v/metadata") do
@@ -0,0 +1,8 @@
1
+ {
2
+ "name": "IK",
3
+ "state": {
4
+ "code": "MD",
5
+ "label": "Maryland",
6
+ "type": "state"
7
+ }
8
+ }
@@ -0,0 +1,26 @@
1
+ [
2
+ {
3
+ "name": "Quick Mart Urgent Care",
4
+ "state": {
5
+ "code": "MD",
6
+ "label": "Maryland",
7
+ "type": "state"
8
+ }
9
+ },
10
+ {
11
+ "name": "Quick Mart Emergency Room",
12
+ "state": {
13
+ "code": "MD",
14
+ "label": "Maryland",
15
+ "type": "state"
16
+ }
17
+ },
18
+ {
19
+ "name": "Quick Mart - Folsom Business Office",
20
+ "state": {
21
+ "code": "CA",
22
+ "label": "California",
23
+ "type": "state"
24
+ }
25
+ }
26
+ ]
@@ -0,0 +1,287 @@
1
+ [
2
+ {
3
+ "code": "AL",
4
+ "label": "Alabama",
5
+ "type": "state"
6
+ },
7
+ {
8
+ "code": "AK",
9
+ "label": "Alaska",
10
+ "type": "state"
11
+ },
12
+ {
13
+ "code": "AZ",
14
+ "label": "Arizona",
15
+ "type": "state"
16
+ },
17
+ {
18
+ "code": "AR",
19
+ "label": "Arkansas",
20
+ "type": "state"
21
+ },
22
+ {
23
+ "code": "CA",
24
+ "label": "California",
25
+ "type": "state"
26
+ },
27
+ {
28
+ "code": "CO",
29
+ "label": "Colorado",
30
+ "type": "state"
31
+ },
32
+ {
33
+ "code": "CT",
34
+ "label": "Connecticut",
35
+ "type": "state"
36
+ },
37
+ {
38
+ "code": "DE",
39
+ "label": "Delaware",
40
+ "type": "state"
41
+ },
42
+ {
43
+ "code": "FL",
44
+ "label": "Florida",
45
+ "type": "state"
46
+ },
47
+ {
48
+ "code": "GA",
49
+ "label": "Georgia",
50
+ "type": "state"
51
+ },
52
+ {
53
+ "code": "HI",
54
+ "label": "Hawaii",
55
+ "type": "state"
56
+ },
57
+ {
58
+ "code": "ID",
59
+ "label": "Idaho",
60
+ "type": "state"
61
+ },
62
+ {
63
+ "code": "IL",
64
+ "label": "Illinois",
65
+ "type": "state"
66
+ },
67
+ {
68
+ "code": "IN",
69
+ "label": "Indiana",
70
+ "type": "state"
71
+ },
72
+ {
73
+ "code": "IA",
74
+ "label": "Iowa",
75
+ "type": "state"
76
+ },
77
+ {
78
+ "code": "KS",
79
+ "label": "Kansas",
80
+ "type": "state"
81
+ },
82
+ {
83
+ "code": "KY",
84
+ "label": "Kentucky",
85
+ "type": "state"
86
+ },
87
+ {
88
+ "code": "LA",
89
+ "label": "Louisiana",
90
+ "type": "state"
91
+ },
92
+ {
93
+ "code": "ME",
94
+ "label": "Maine",
95
+ "type": "state"
96
+ },
97
+ {
98
+ "code": "MD",
99
+ "label": "Maryland",
100
+ "type": "state"
101
+ },
102
+ {
103
+ "code": "MA",
104
+ "label": "Massachusetts",
105
+ "type": "state"
106
+ },
107
+ {
108
+ "code": "MI",
109
+ "label": "Michigan",
110
+ "type": "state"
111
+ },
112
+ {
113
+ "code": "MN",
114
+ "label": "Minnesota",
115
+ "type": "state"
116
+ },
117
+ {
118
+ "code": "MS",
119
+ "label": "Mississippi",
120
+ "type": "state"
121
+ },
122
+ {
123
+ "code": "MO",
124
+ "label": "Missouri",
125
+ "type": "state"
126
+ },
127
+ {
128
+ "code": "MT",
129
+ "label": "Montana",
130
+ "type": "state"
131
+ },
132
+ {
133
+ "code": "NE",
134
+ "label": "Nebraska",
135
+ "type": "state"
136
+ },
137
+ {
138
+ "code": "NV",
139
+ "label": "Nevada",
140
+ "type": "state"
141
+ },
142
+ {
143
+ "code": "NH",
144
+ "label": "New Hampshire",
145
+ "type": "state"
146
+ },
147
+ {
148
+ "code": "NJ",
149
+ "label": "New Jersey",
150
+ "type": "state"
151
+ },
152
+ {
153
+ "code": "NM",
154
+ "label": "New Mexico",
155
+ "type": "state"
156
+ },
157
+ {
158
+ "code": "NY",
159
+ "label": "New York",
160
+ "type": "state"
161
+ },
162
+ {
163
+ "code": "NC",
164
+ "label": "North Carolina",
165
+ "type": "state"
166
+ },
167
+ {
168
+ "code": "ND",
169
+ "label": "North Dakota",
170
+ "type": "state"
171
+ },
172
+ {
173
+ "code": "OH",
174
+ "label": "Ohio",
175
+ "type": "state"
176
+ },
177
+ {
178
+ "code": "OK",
179
+ "label": "Oklahoma",
180
+ "type": "state"
181
+ },
182
+ {
183
+ "code": "OR",
184
+ "label": "Oregon",
185
+ "type": "state"
186
+ },
187
+ {
188
+ "code": "PA",
189
+ "label": "Pennsylvania",
190
+ "type": "state"
191
+ },
192
+ {
193
+ "code": "RI",
194
+ "label": "Rhode Island",
195
+ "type": "state"
196
+ },
197
+ {
198
+ "code": "SC",
199
+ "label": "South Carolina",
200
+ "type": "state"
201
+ },
202
+ {
203
+ "code": "SD",
204
+ "label": "South Dakota",
205
+ "type": "state"
206
+ },
207
+ {
208
+ "code": "TN",
209
+ "label": "Tennessee",
210
+ "type": "state"
211
+ },
212
+ {
213
+ "code": "TX",
214
+ "label": "Texas",
215
+ "type": "state"
216
+ },
217
+ {
218
+ "code": "UT",
219
+ "label": "Utah",
220
+ "type": "state"
221
+ },
222
+ {
223
+ "code": "VT",
224
+ "label": "Vermont",
225
+ "type": "state"
226
+ },
227
+ {
228
+ "code": "VA",
229
+ "label": "Virginia",
230
+ "type": "state"
231
+ },
232
+ {
233
+ "code": "WA",
234
+ "label": "Washington",
235
+ "type": "state"
236
+ },
237
+ {
238
+ "code": "WV",
239
+ "label": "West Virginia",
240
+ "type": "state"
241
+ },
242
+ {
243
+ "code": "WI",
244
+ "label": "Wisconsin",
245
+ "type": "state"
246
+ },
247
+ {
248
+ "code": "WY",
249
+ "label": "Wyoming",
250
+ "type": "state"
251
+ },
252
+ {
253
+ "code": "DC",
254
+ "label": "District of Columbia",
255
+ "type": "state"
256
+ },
257
+ {
258
+ "code": "AS",
259
+ "label": "American Samoa",
260
+ "type": "territory"
261
+ },
262
+ {
263
+ "code": "GU",
264
+ "label": "Guam",
265
+ "type": "territory"
266
+ },
267
+ {
268
+ "code": "MP",
269
+ "label": "Northern Mariana Islands",
270
+ "type": "territory"
271
+ },
272
+ {
273
+ "code": "PR",
274
+ "label": "Puerto Rico",
275
+ "type": "territory"
276
+ },
277
+ {
278
+ "code": "UM",
279
+ "label": "United states Minor Outlying Islands",
280
+ "type": "territory"
281
+ },
282
+ {
283
+ "code": "VI",
284
+ "label": "U.S. Virgin Islands",
285
+ "type": "territory"
286
+ }
287
+ ]
@@ -0,0 +1,58 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Fake
4
+ module LocationsRoutes
5
+ class << self
6
+ def included(base)
7
+ get_routes base
8
+ post_routes base
9
+ put_routes base
10
+ delete_routes base
11
+
12
+ super
13
+ end
14
+
15
+ def post_routes(base)
16
+ base.post("/#{base.version}/locations") do
17
+ status 204
18
+ end
19
+ end
20
+
21
+ def delete_routes(base)
22
+ base.delete("/#{base.version}/locations/:key") do
23
+ return status(404) if params[:key] == 'not_found'
24
+ return status(400) unless sha256?(params[:key])
25
+
26
+ status 204
27
+ end
28
+ end
29
+
30
+ def put_routes(base)
31
+ base.put("/#{base.version}/locations/:key") do
32
+ return status(404) if params[:key] == 'not_found'
33
+ return status(400) unless sha256?(params[:key])
34
+
35
+ status 204
36
+ end
37
+ end
38
+
39
+ def get_routes(base)
40
+ base.get("/#{base.version}/locations") do
41
+ return status(400) if params[:filter] == 'invalid'
42
+
43
+ json_response 200, 'locations/get_locations.json'
44
+ end
45
+ base.get("/#{base.version}/locations/:key") do
46
+ return status(404) if params[:key] == 'not_found'
47
+ return status(400) unless sha256?(params[:key])
48
+
49
+ json_response 200, 'locations/get_location.json'
50
+ end
51
+ end
52
+ end
53
+
54
+ def sha256?(key)
55
+ key.length == 64 && key.match(/^[0-9a-f]+$/)
56
+ end
57
+ end
58
+ end
@@ -0,0 +1,14 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Fake
4
+ module StateRoutes
5
+ class << self
6
+ def included(base)
7
+ base.get("/#{base.version}/states") do
8
+ json_response 200, 'states/get_states.json'
9
+ end
10
+ super
11
+ end
12
+ end
13
+ end
14
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: finapps
3
3
  version: !ruby/object:Gem::Version
4
- version: 6.9.0
4
+ version: 6.10.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Erich Quintero
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-02-05 00:00:00.000000000 Z
11
+ date: 2022-03-17 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: finapps_core
@@ -19,7 +19,7 @@ dependencies:
19
19
  version: '6.0'
20
20
  - - ">="
21
21
  - !ruby/object:Gem::Version
22
- version: 6.0.1
22
+ version: 6.0.2
23
23
  type: :runtime
24
24
  prerelease: false
25
25
  version_requirements: !ruby/object:Gem::Requirement
@@ -29,7 +29,7 @@ dependencies:
29
29
  version: '6.0'
30
30
  - - ">="
31
31
  - !ruby/object:Gem::Version
32
- version: 6.0.1
32
+ version: 6.0.2
33
33
  - !ruby/object:Gem::Dependency
34
34
  name: bundler
35
35
  requirement: !ruby/object:Gem::Requirement
@@ -270,6 +270,7 @@ files:
270
270
  - lib/finapps/rest/documents_upload_types.rb
271
271
  - lib/finapps/rest/documents_uploads.rb
272
272
  - lib/finapps/rest/esign_templates.rb
273
+ - lib/finapps/rest/locations.rb
273
274
  - lib/finapps/rest/operator_change_password_email.rb
274
275
  - lib/finapps/rest/operator_login_tokens.rb
275
276
  - lib/finapps/rest/operators.rb
@@ -300,6 +301,7 @@ files:
300
301
  - lib/finapps/rest/screenings.rb
301
302
  - lib/finapps/rest/sessions.rb
302
303
  - lib/finapps/rest/signed_documents_downloads.rb
304
+ - lib/finapps/rest/states.rb
303
305
  - lib/finapps/rest/tenant_app_settings.rb
304
306
  - lib/finapps/rest/tenant_settings.rb
305
307
  - lib/finapps/rest/verix/verix_documents.rb
@@ -321,6 +323,7 @@ files:
321
323
  - spec/rest/documents_upload_types_spec.rb
322
324
  - spec/rest/documents_uploads_spec.rb
323
325
  - spec/rest/esign_templates_spec.rb
326
+ - spec/rest/locations_spec.rb
324
327
  - spec/rest/operator_change_password_email_spec.rb
325
328
  - spec/rest/operators_login_tokens_spec.rb
326
329
  - spec/rest/operators_password_resets_spec.rb
@@ -350,6 +353,7 @@ files:
350
353
  - spec/rest/screenings_spec.rb
351
354
  - spec/rest/sessions_spec.rb
352
355
  - spec/rest/signed_documents_downloads_spec.rb
356
+ - spec/rest/states_spec.rb
353
357
  - spec/rest/tenant_app_settings_spec.rb
354
358
  - spec/rest/tenant_settings_spec.rb
355
359
  - spec/rest/verix/verix_documents_spec.rb
@@ -379,6 +383,8 @@ files:
379
383
  - spec/support/fixtures/invalid_tenant_credentials.json
380
384
  - spec/support/fixtures/invalid_user_id.json
381
385
  - spec/support/fixtures/invalid_user_institution_id.json
386
+ - spec/support/fixtures/locations/get_location.json
387
+ - spec/support/fixtures/locations/get_locations.json
382
388
  - spec/support/fixtures/mfa_timeout.json
383
389
  - spec/support/fixtures/multiple_consumer_subscribe_error.json
384
390
  - spec/support/fixtures/operator.json
@@ -426,6 +432,7 @@ files:
426
432
  - spec/support/fixtures/sign_url.json
427
433
  - spec/support/fixtures/signed_document.pdf
428
434
  - spec/support/fixtures/single_consumer_subscribe_error.json
435
+ - spec/support/fixtures/states/get_states.json
429
436
  - spec/support/fixtures/tenant_app_settings.json
430
437
  - spec/support/fixtures/tenant_settings.json
431
438
  - spec/support/fixtures/unauthorized.json
@@ -439,8 +446,10 @@ files:
439
446
  - spec/support/fixtures/verix/record/create.json
440
447
  - spec/support/fixtures/verix/record/list.json
441
448
  - spec/support/routes/actors.rb
449
+ - spec/support/routes/locations.rb
442
450
  - spec/support/routes/query_screenings.rb
443
451
  - spec/support/routes/screening_metadatas.rb
452
+ - spec/support/routes/states.rb
444
453
  - spec/support/screenings_routes.rb
445
454
  - spec/utils/query_builder_spec.rb
446
455
  - tags
@@ -469,7 +478,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
469
478
  - !ruby/object:Gem::Version
470
479
  version: '0'
471
480
  requirements: []
472
- rubygems_version: 3.1.4
481
+ rubygems_version: 3.1.6
473
482
  signing_key:
474
483
  specification_version: 4
475
484
  summary: FinApps REST API ruby client.
@@ -477,7 +486,9 @@ test_files:
477
486
  - spec/utils/query_builder_spec.rb
478
487
  - spec/support/fake_api.rb
479
488
  - spec/support/documents_uploads_routes.rb
489
+ - spec/support/routes/locations.rb
480
490
  - spec/support/routes/query_screenings.rb
491
+ - spec/support/routes/states.rb
481
492
  - spec/support/routes/actors.rb
482
493
  - spec/support/routes/screening_metadatas.rb
483
494
  - spec/support/screenings_routes.rb
@@ -490,6 +501,7 @@ test_files:
490
501
  - spec/rest/verix/verix_documents_spec.rb
491
502
  - spec/rest/verix/verix_pdf_documents_spec.rb
492
503
  - spec/rest/verix/verix_metadata_spec.rb
504
+ - spec/rest/states_spec.rb
493
505
  - spec/rest/consumers_portfolios_spec.rb
494
506
  - spec/rest/signed_documents_downloads_spec.rb
495
507
  - spec/rest/portfolio_reports_spec.rb
@@ -508,6 +520,7 @@ test_files:
508
520
  - spec/rest/plaid/plaid_institution_logos_spec.rb
509
521
  - spec/rest/plaid/plaid_consumer_institutions_spec.rb
510
522
  - spec/rest/tenant_app_settings_spec.rb
523
+ - spec/rest/locations_spec.rb
511
524
  - spec/rest/consumers_spec.rb
512
525
  - spec/rest/order_tokens_spec.rb
513
526
  - spec/rest/alert_definitions_spec.rb