spaceborne 0.1.24 → 0.1.29

Sign up to get free protection for your applications and to get access to all the features.
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: []