spaceborne 0.1.24 → 0.1.29

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: 53fb411a7dade70b688ee3bf24d548420eb01ab5ad1bac615b55602311e269f3
4
- data.tar.gz: 133bec8353aff572df85f8281b76c7b657ed1360b64702eb00870457645dee15
3
+ metadata.gz: 744535295c7b839c62c94077702e26d5a661871a7793da36a3a8fa356474ec1d
4
+ data.tar.gz: c1a6e9bbd3a6b4978f0f9254cf0024a7ff3a9564a3fced0de713e76dfcf9ef83
5
5
  SHA512:
6
- metadata.gz: 326c5216fe88cb787ad970cfc1034a274f8bc271085f85874d594c82b519b9b8f66c2522930028f0b82a1dcff6f83d4307f1cbccca6d7d4a17a8abf5a798dc43
7
- data.tar.gz: dae915ef6066214b2b9f2ccdb2b89459f4cfe0ff7ac68284d7265a81f26343bf8639bc383443dee7a5b1f5b07f4492ed23bd3a0aebd537fcefd2cf467ac7d0b5
6
+ metadata.gz: 473f4e6094ec7128b3ff37f3fcc70b2361336c4837040252051709b58c17f973e96f4f0113e80d4622eb46aaf360d2efd23a160bcb8a44945054bd77405c2428
7
+ data.tar.gz: d9687b5572d809ec310ec0f09039c7709a221d184a4d4596feb4fae71c318176584757d709dcef3332fe9925bd896267c9bc4e63f046f2253aa50352c1b59040
@@ -1 +1 @@
1
- ruby-2.4.1
1
+ ruby-2.5.5
@@ -118,13 +118,18 @@ module Airborne
118
118
  end
119
119
  end
120
120
 
121
- def make_request(method, url, options = {})
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
- send_restclient(method, get_url(url), @request_body, hdrs)
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
@@ -155,16 +160,16 @@ module Airborne
155
160
  end
156
161
  end
157
162
 
158
- def exception_path_adder(path)
163
+ def exception_path_adder(args)
159
164
  yield
160
165
  rescue Airborne::ExpectationError => e
161
- e.message << " at location #{path}"
166
+ e.message << "\nexpect arguments: #{args}"
162
167
  raise e
163
168
  end
164
169
 
165
170
  def expect_json_types(*args)
166
171
  call_with_relative_path(json_body, args) do |param, body|
167
- exception_path_adder(args[0]) do
172
+ exception_path_adder(args) do
168
173
  expect_json_types_impl(param, body)
169
174
  end
170
175
  end
@@ -172,7 +177,7 @@ module Airborne
172
177
 
173
178
  def expect_json(*args)
174
179
  call_with_relative_path(json_body, args) do |param, body|
175
- exception_path_adder(args[0]) do
180
+ exception_path_adder(args) do
176
181
  expect_json_impl(param, body)
177
182
  end
178
183
  end
@@ -180,7 +185,7 @@ module Airborne
180
185
 
181
186
  def expect_header_types(*args)
182
187
  call_with_relative_path(response.headers, args) do |param, body|
183
- exception_path_adder(args[0]) do
188
+ exception_path_adder(args) do
184
189
  expect_json_types_impl(param, body)
185
190
  end
186
191
  end
@@ -188,7 +193,7 @@ module Airborne
188
193
 
189
194
  def expect_header(*args)
190
195
  call_with_relative_path(response.headers, args) do |param, body|
191
- exception_path_adder(args[0]) do
196
+ exception_path_adder(args) do
192
197
  expect_json_impl(param, body)
193
198
  end
194
199
  end
@@ -225,18 +230,22 @@ module Airborne
225
230
  end
226
231
  end
227
232
 
228
- def get_by_path(path, json, &block)
233
+ def iterate_path(path)
229
234
  raise PathError, "Invalid Path, contains '..'" if /\.\./ =~ path
230
235
 
231
- type = false
232
236
  parts = path.to_s.split('.')
233
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|
234
244
  if %w[* ?].include?(part)
235
245
  ensure_array_or_hash(path, json)
236
246
  type = part
237
- if index < parts.length.pred
238
- walk_with_path(type, index, path, parts, json, &block) && return
239
- end
247
+ walk_with_path(type, index, path, parts, json, &block) && return if index < parts.length.pred
248
+
240
249
  next
241
250
  end
242
251
  json = do_process_json(part, json)
@@ -1,3 +1,3 @@
1
1
  module Spaceborne
2
- VERSION = '0.1.24'.freeze
2
+ VERSION = '0.1.29'.freeze
3
3
  end
@@ -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 = `git ls-files -z`.split("\x0").reject do |f|
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', '~> 10.0'
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.24
4
+ version: 0.1.29
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: 2020-05-13 00:00:00.000000000 Z
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: '10.0'
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: '10.0'
164
+ version: 12.3.3
165
165
  description: Extends brooklynDev/airborne
166
166
  email:
167
167
  - keithrw@comcast.net
@@ -185,15 +185,15 @@ 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: '0'
196
+ version: 2.5.5
197
197
  required_rubygems_version: !ruby/object:Gem::Requirement
198
198
  requirements:
199
199
  - - ">="
@@ -201,7 +201,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
201
201
  version: '0'
202
202
  requirements: []
203
203
  rubygems_version: 3.0.8
204
- signing_key:
204
+ signing_key:
205
205
  specification_version: 4
206
206
  summary: Gem supporting API testing
207
207
  test_files: []