spaceborne 0.1.23 → 0.1.28

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: 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: []