spaceborne 0.1.40 → 0.1.44
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/.ruby-version +1 -1
- data/lib/spaceborne/version.rb +1 -1
- data/lib/spaceborne.rb +15 -7
- data/spaceborne.gemspec +1 -1
- metadata +4 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 4c1ee4d4fbb158b69d6f3edccf132cbdf29dfb3a32f1fc8c0289bd4c784762df
|
4
|
+
data.tar.gz: f0019dce79d257d48048bf04e6ead4fa77abf6e7fcd7c693146ea537808ed429
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: dd162f7c0af43b8b1f7bc86e88c52313b315d735b6f4d00f3f95e0c9cf7c2bed20afc1908651e3a62225bf67c977e0942a0bb5f37fff082a156886e19b434483
|
7
|
+
data.tar.gz: f4742ef12f777f15a7680c4ab83e6d7cec44c909f1f7f5eb254e05e7ab252ef6d63bc9ffbda4a93cced6225bda1f66abe3b3d00c8d89fa2d4d204bb7f0deb454
|
data/.ruby-version
CHANGED
@@ -1 +1 @@
|
|
1
|
-
ruby-2.
|
1
|
+
ruby-2.6.3
|
data/lib/spaceborne/version.rb
CHANGED
data/lib/spaceborne.rb
CHANGED
@@ -186,7 +186,9 @@ module Airborne
|
|
186
186
|
|
187
187
|
def exception_path_adder(args, body)
|
188
188
|
yield
|
189
|
-
rescue RSpec::Expectations::ExpectationNotMetError,
|
189
|
+
rescue RSpec::Expectations::ExpectationNotMetError,
|
190
|
+
ExpectationError,
|
191
|
+
Airborne::ExpectationError => e
|
190
192
|
e.message << "\nexpect arguments: #{args}\ndata element: #{body}"
|
191
193
|
raise e
|
192
194
|
end
|
@@ -227,28 +229,28 @@ module Airborne
|
|
227
229
|
if data.is_a?(Hash)
|
228
230
|
OptionalHashTypeExpectations.new(data)
|
229
231
|
else
|
230
|
-
OptionalPathExpectations.new(data)
|
232
|
+
Airborne::OptionalPathExpectations.new(data)
|
231
233
|
end
|
232
234
|
end
|
233
235
|
end
|
234
236
|
|
235
237
|
# extension to handle hash value checking
|
236
238
|
module PathMatcher
|
237
|
-
def handle_container(json, &block)
|
239
|
+
def handle_container(path, json, &block)
|
238
240
|
case json.class.name
|
239
241
|
when 'Array'
|
240
242
|
expect_all(json, &block)
|
241
243
|
when 'Hash'
|
242
244
|
json.each { |k, _v| yield json[k] }
|
243
245
|
else
|
244
|
-
raise ExpectationError, "expected array or hash, got #{json.class.name}"
|
246
|
+
raise ExpectationError, "expected array or hash at #{path}, got #{json.class.name}"
|
245
247
|
end
|
246
248
|
end
|
247
249
|
|
248
250
|
def handle_type(type, path, json, &block)
|
249
251
|
case type.to_s
|
250
252
|
when '*'
|
251
|
-
handle_container(json, &block)
|
253
|
+
handle_container(path, json, &block)
|
252
254
|
when '?'
|
253
255
|
expect_one(path, json, &block)
|
254
256
|
else
|
@@ -301,14 +303,20 @@ module Airborne
|
|
301
303
|
' from JSON response'
|
302
304
|
end
|
303
305
|
|
306
|
+
def handle_missing_errors(type, path, sub_path, element, &block)
|
307
|
+
exception_path_adder({ type: type, path: sub_path }, element) do
|
308
|
+
get_by_path(make_sub_path_optional(path, sub_path), element, &block)
|
309
|
+
end
|
310
|
+
end
|
311
|
+
|
304
312
|
def walk_with_path(type, index, path, parts, json, &block)
|
305
313
|
last_error = nil
|
306
314
|
item_count = json.length
|
307
315
|
error_count = 0
|
308
316
|
json.each do |element|
|
317
|
+
sub_path = parts[(index.next)...(parts.length)].join('.')
|
309
318
|
begin
|
310
|
-
sub_path
|
311
|
-
get_by_path(make_sub_path_optional(path, sub_path), element, &block)
|
319
|
+
handle_missing_errors(type, path, sub_path, element, &block)
|
312
320
|
rescue Exception => e
|
313
321
|
last_error = e
|
314
322
|
error_count += 1
|
data/spaceborne.gemspec
CHANGED
@@ -12,7 +12,7 @@ Gem::Specification.new do |spec|
|
|
12
12
|
spec.description = 'Extends brooklynDev/airborne'
|
13
13
|
spec.homepage = 'https://github.com/keithrw54/spaceborne.git'
|
14
14
|
spec.license = 'MIT'
|
15
|
-
spec.required_ruby_version = '~> 2.
|
15
|
+
spec.required_ruby_version = '~> 2.6'
|
16
16
|
|
17
17
|
spec.files = `git ls-files -z`.split("\x0").reject do |f|
|
18
18
|
f.match(%r{^(test|spec|features)/})
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: spaceborne
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.44
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Keith Williams
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2021-
|
11
|
+
date: 2021-09-17 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activesupport
|
@@ -193,14 +193,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
193
193
|
requirements:
|
194
194
|
- - "~>"
|
195
195
|
- !ruby/object:Gem::Version
|
196
|
-
version: 2.
|
196
|
+
version: '2.6'
|
197
197
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
198
198
|
requirements:
|
199
199
|
- - ">="
|
200
200
|
- !ruby/object:Gem::Version
|
201
201
|
version: '0'
|
202
202
|
requirements: []
|
203
|
-
rubygems_version: 3.0.
|
203
|
+
rubygems_version: 3.0.8
|
204
204
|
signing_key:
|
205
205
|
specification_version: 4
|
206
206
|
summary: Gem supporting API testing
|