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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 39591d03867f81e331613646b71adc30e118a4b74b7b69d2b5217f9dfef1a4fb
4
- data.tar.gz: 1b82c816bbacd0207a0ad4e19f5ba548c0807fcbab33e210655de9c40e27eda3
3
+ metadata.gz: 955e28674b34b44d8264465bd6aea0473a32d24bd41ac0b7420c742d74f24105
4
+ data.tar.gz: 0a3a31bad0eb61d9d61d0acd85e717397a75ad8e586bb36de063c67201be2a0e
5
5
  SHA512:
6
- metadata.gz: 5c1d32293ddeac46fbd0fb20897b925ca71423a5c598255ef4353cfc41c2ebf987f7ab7448f0cf57af345574c77c707c631fa012a1b8e209a263f6a347936336
7
- data.tar.gz: 2d53f4280e0d461d4cd3d1610e2e4ff95d59454b276d29c61658438b844d60d902336ce55dcd40213838c933ec3c2992fea997d149c704a8432853f3c3baf5ff
6
+ metadata.gz: 2df85cbba09e2f1906770f968b881eaed916524faa4a9e6287a4602c753e03112880c0ca7e359680a62582a26df7f836bfdcd2f0a1414de9899038c0ec60e10c
7
+ data.tar.gz: 65e15247604df879cb821121c46ccc17f891a1204ae1895cf844a84d940151d68d0dc0a0bde9e6c26f1ee56bb462c75a90c4aa5f4d23aac9523c8d8c77102106
@@ -1 +1 @@
1
- ruby-2.4.1
1
+ ruby-2.5.5
@@ -118,17 +118,26 @@ 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
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(path)
163
+ def exception_path_adder(args)
155
164
  yield
156
165
  rescue Airborne::ExpectationError => e
157
- e.message << " at location #{path}"
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[0]) do
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[0]) do
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[0]) do
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[0]) do
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 get_by_path(path, json, &block)
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
- walk_with_path(type, index, path, parts, json, &block) && return
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)
@@ -1,3 +1,3 @@
1
1
  module Spaceborne
2
- VERSION = '0.1.23'.freeze
2
+ VERSION = '0.1.28'.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.23
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: 2019-11-20 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,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: '0'
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
- rubyforge_project:
204
- rubygems_version: 2.7.9
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: []