spaceborne 0.1.23 → 0.1.28
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.rb +27 -14
- data/lib/spaceborne/version.rb +1 -1
- data/spaceborne.gemspec +3 -2
- metadata +10 -11
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 955e28674b34b44d8264465bd6aea0473a32d24bd41ac0b7420c742d74f24105
|
4
|
+
data.tar.gz: 0a3a31bad0eb61d9d61d0acd85e717397a75ad8e586bb36de063c67201be2a0e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 2df85cbba09e2f1906770f968b881eaed916524faa4a9e6287a4602c753e03112880c0ca7e359680a62582a26df7f836bfdcd2f0a1414de9899038c0ec60e10c
|
7
|
+
data.tar.gz: 65e15247604df879cb821121c46ccc17f891a1204ae1895cf844a84d940151d68d0dc0a0bde9e6c26f1ee56bb462c75a90c4aa5f4d23aac9523c8d8c77102106
|
data/.ruby-version
CHANGED
@@ -1 +1 @@
|
|
1
|
-
ruby-2.
|
1
|
+
ruby-2.5.5
|
data/lib/spaceborne.rb
CHANGED
@@ -118,17 +118,26 @@ module Airborne
|
|
118
118
|
end
|
119
119
|
end
|
120
120
|
|
121
|
-
def
|
121
|
+
def pre_request(options)
|
122
122
|
@json_body = nil
|
123
123
|
local_options = split_options(options)
|
124
124
|
handle_proxy(options, local_options)
|
125
125
|
hdrs = calc_headers(options, local_options)
|
126
126
|
@request_body = calc_body(options, local_options)
|
127
|
-
|
127
|
+
[hdrs, @request_body]
|
128
|
+
end
|
129
|
+
|
130
|
+
def make_request(method, url, options = {})
|
131
|
+
hdrs, body = pre_request(options)
|
132
|
+
send_restclient(method, get_url(url), body, hdrs)
|
128
133
|
rescue RestClient::ServerBrokeConnection => e
|
129
134
|
raise e
|
130
135
|
rescue RestClient::Exception => e
|
131
|
-
e.response
|
136
|
+
if [301, 302].include?(e.response.code)
|
137
|
+
e.response.follow_redirection
|
138
|
+
else
|
139
|
+
e.response
|
140
|
+
end
|
132
141
|
end
|
133
142
|
|
134
143
|
private
|
@@ -151,16 +160,16 @@ module Airborne
|
|
151
160
|
end
|
152
161
|
end
|
153
162
|
|
154
|
-
def exception_path_adder(
|
163
|
+
def exception_path_adder(args)
|
155
164
|
yield
|
156
165
|
rescue Airborne::ExpectationError => e
|
157
|
-
e.message << "
|
166
|
+
e.message << "\nexpect arguments: #{args}"
|
158
167
|
raise e
|
159
168
|
end
|
160
169
|
|
161
170
|
def expect_json_types(*args)
|
162
171
|
call_with_relative_path(json_body, args) do |param, body|
|
163
|
-
exception_path_adder(args
|
172
|
+
exception_path_adder(args) do
|
164
173
|
expect_json_types_impl(param, body)
|
165
174
|
end
|
166
175
|
end
|
@@ -168,7 +177,7 @@ module Airborne
|
|
168
177
|
|
169
178
|
def expect_json(*args)
|
170
179
|
call_with_relative_path(json_body, args) do |param, body|
|
171
|
-
exception_path_adder(args
|
180
|
+
exception_path_adder(args) do
|
172
181
|
expect_json_impl(param, body)
|
173
182
|
end
|
174
183
|
end
|
@@ -176,7 +185,7 @@ module Airborne
|
|
176
185
|
|
177
186
|
def expect_header_types(*args)
|
178
187
|
call_with_relative_path(response.headers, args) do |param, body|
|
179
|
-
exception_path_adder(args
|
188
|
+
exception_path_adder(args) do
|
180
189
|
expect_json_types_impl(param, body)
|
181
190
|
end
|
182
191
|
end
|
@@ -184,7 +193,7 @@ module Airborne
|
|
184
193
|
|
185
194
|
def expect_header(*args)
|
186
195
|
call_with_relative_path(response.headers, args) do |param, body|
|
187
|
-
exception_path_adder(args
|
196
|
+
exception_path_adder(args) do
|
188
197
|
expect_json_impl(param, body)
|
189
198
|
end
|
190
199
|
end
|
@@ -221,18 +230,22 @@ module Airborne
|
|
221
230
|
end
|
222
231
|
end
|
223
232
|
|
224
|
-
def
|
233
|
+
def iterate_path(path)
|
225
234
|
raise PathError, "Invalid Path, contains '..'" if /\.\./ =~ path
|
226
235
|
|
227
|
-
type = false
|
228
236
|
parts = path.to_s.split('.')
|
229
237
|
parts.each_with_index do |part, index|
|
238
|
+
yield(parts, part, index)
|
239
|
+
end
|
240
|
+
end
|
241
|
+
|
242
|
+
def get_by_path(path, json, type = false, &block)
|
243
|
+
iterate_path(path) do |parts, part, index|
|
230
244
|
if %w[* ?].include?(part)
|
231
245
|
ensure_array_or_hash(path, json)
|
232
246
|
type = part
|
233
|
-
if index < parts.length.pred
|
234
|
-
|
235
|
-
end
|
247
|
+
walk_with_path(type, index, path, parts, json, &block) && return if index < parts.length.pred
|
248
|
+
|
236
249
|
next
|
237
250
|
end
|
238
251
|
json = do_process_json(part, json)
|
data/lib/spaceborne/version.rb
CHANGED
data/spaceborne.gemspec
CHANGED
@@ -12,8 +12,9 @@ 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.5.5'
|
15
16
|
|
16
|
-
spec.files
|
17
|
+
spec.files = `git ls-files -z`.split("\x0").reject do |f|
|
17
18
|
f.match(%r{^(test|spec|features)/})
|
18
19
|
end
|
19
20
|
spec.bindir = 'exe'
|
@@ -30,5 +31,5 @@ Gem::Specification.new do |spec|
|
|
30
31
|
spec.add_development_dependency 'webmock', '~> 0'
|
31
32
|
|
32
33
|
spec.add_development_dependency 'byebug', '~> 10.0.2'
|
33
|
-
spec.add_development_dependency 'rake', '~>
|
34
|
+
spec.add_development_dependency 'rake', '~> 12.3.3'
|
34
35
|
end
|
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.28
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Keith Williams
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2020-12-15 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activesupport
|
@@ -154,14 +154,14 @@ dependencies:
|
|
154
154
|
requirements:
|
155
155
|
- - "~>"
|
156
156
|
- !ruby/object:Gem::Version
|
157
|
-
version:
|
157
|
+
version: 12.3.3
|
158
158
|
type: :development
|
159
159
|
prerelease: false
|
160
160
|
version_requirements: !ruby/object:Gem::Requirement
|
161
161
|
requirements:
|
162
162
|
- - "~>"
|
163
163
|
- !ruby/object:Gem::Version
|
164
|
-
version:
|
164
|
+
version: 12.3.3
|
165
165
|
description: Extends brooklynDev/airborne
|
166
166
|
email:
|
167
167
|
- keithrw@comcast.net
|
@@ -185,24 +185,23 @@ homepage: https://github.com/keithrw54/spaceborne.git
|
|
185
185
|
licenses:
|
186
186
|
- MIT
|
187
187
|
metadata: {}
|
188
|
-
post_install_message:
|
188
|
+
post_install_message:
|
189
189
|
rdoc_options: []
|
190
190
|
require_paths:
|
191
191
|
- lib
|
192
192
|
required_ruby_version: !ruby/object:Gem::Requirement
|
193
193
|
requirements:
|
194
|
-
- -
|
194
|
+
- - '='
|
195
195
|
- !ruby/object:Gem::Version
|
196
|
-
version:
|
196
|
+
version: 2.5.5
|
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
|
-
|
204
|
-
|
205
|
-
signing_key:
|
203
|
+
rubygems_version: 3.0.8
|
204
|
+
signing_key:
|
206
205
|
specification_version: 4
|
207
206
|
summary: Gem supporting API testing
|
208
207
|
test_files: []
|