hyper-spec 1.0.alpha1.8 → 1.0.0.lap28
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/.gitignore +1 -4
- data/.rubocop.yml +107 -0
- data/.travis.yml +15 -20
- data/CODE_OF_CONDUCT.md +49 -0
- data/Gemfile +1 -5
- data/LICENSE.txt +21 -0
- data/README.md +380 -0
- data/Rakefile +2 -0
- data/bin/console +0 -0
- data/bin/setup +0 -0
- data/dciy.toml +3 -0
- data/hyper-spec.gemspec +21 -19
- data/lib/hyper-spec.rb +23 -174
- data/lib/hyper-spec/component_test_helpers.rb +360 -0
- data/lib/hyper-spec/{internal/time_cop.rb → time_cop.rb} +2 -14
- data/lib/hyper-spec/version.rb +1 -1
- data/lib/hyper-spec/wait_for_ajax.rb +4 -4
- data/lib/react/top_level_rails_component.rb +94 -0
- metadata +54 -107
- data/lib/hyper-spec/controller_helpers.rb +0 -164
- data/lib/hyper-spec/expectations.rb +0 -64
- data/lib/hyper-spec/helpers.rb +0 -225
- data/lib/hyper-spec/internal/client_execution.rb +0 -94
- data/lib/hyper-spec/internal/component_mount.rb +0 -140
- data/lib/hyper-spec/internal/controller.rb +0 -70
- data/lib/hyper-spec/internal/copy_locals.rb +0 -103
- data/lib/hyper-spec/internal/patches.rb +0 -86
- data/lib/hyper-spec/internal/rails_controller_helpers.rb +0 -50
- data/lib/hyper-spec/internal/window_sizing.rb +0 -73
- data/lib/hyper-spec/rack.rb +0 -67
- data/lib/sources/top_level_rails_component.rb +0 -103
- data/multi_level_how_it_works.md +0 -49
@@ -59,10 +59,6 @@ if RUBY_ENGINE == 'opal'
|
|
59
59
|
ticker
|
60
60
|
end
|
61
61
|
|
62
|
-
def init(scale: 1, resolution: 10)
|
63
|
-
update_lolex(Time.now, scale, resolution)
|
64
|
-
end
|
65
|
-
|
66
62
|
def update_lolex(time, scale, resolution)
|
67
63
|
`#{@lolex}.uninstall()` && return if scale.nil?
|
68
64
|
@mock_start_time = time.to_f * 1000
|
@@ -84,14 +80,6 @@ if RUBY_ENGINE == 'opal'
|
|
84
80
|
end
|
85
81
|
end
|
86
82
|
|
87
|
-
# create an alias for Lolex.init so we can say Timecop.init on the client
|
88
|
-
|
89
|
-
class Timecop
|
90
|
-
def self.init(*args)
|
91
|
-
Lolex.init(*args)
|
92
|
-
end
|
93
|
-
end
|
94
|
-
|
95
83
|
else
|
96
84
|
require 'timecop'
|
97
85
|
|
@@ -148,7 +136,7 @@ else
|
|
148
136
|
|
149
137
|
def evaluate_ruby(&block)
|
150
138
|
if @capybara_page
|
151
|
-
@capybara_page.
|
139
|
+
@capybara_page.evaluate_ruby(yield)
|
152
140
|
else
|
153
141
|
pending_evaluations << block
|
154
142
|
end
|
@@ -156,7 +144,7 @@ else
|
|
156
144
|
|
157
145
|
def run_pending_evaluations
|
158
146
|
return if pending_evaluations.empty?
|
159
|
-
@capybara_page.
|
147
|
+
@capybara_page.evaluate_ruby(pending_evaluations.collect(&:call).join("\n"))
|
160
148
|
@pending_evaluations ||= []
|
161
149
|
end
|
162
150
|
end
|
data/lib/hyper-spec/version.rb
CHANGED
@@ -12,9 +12,9 @@ module HyperSpec
|
|
12
12
|
def running?
|
13
13
|
jscode = <<-CODE
|
14
14
|
(function() {
|
15
|
-
if (typeof Opal !== "undefined" && Opal.
|
15
|
+
if (typeof Opal !== "undefined" && Opal.Hyperloop !== undefined) {
|
16
16
|
try {
|
17
|
-
return Opal.
|
17
|
+
return Opal.Hyperloop.$const_get("HTTP")["$active?"]();
|
18
18
|
} catch(err) {
|
19
19
|
if (typeof jQuery !== "undefined" && jQuery.active !== undefined) {
|
20
20
|
return (jQuery.active > 0);
|
@@ -29,7 +29,7 @@ module HyperSpec
|
|
29
29
|
}
|
30
30
|
})();
|
31
31
|
CODE
|
32
|
-
|
32
|
+
page.evaluate_script(jscode)
|
33
33
|
rescue Exception => e
|
34
34
|
puts "wait_for_ajax failed while testing state of ajax requests: #{e}"
|
35
35
|
end
|
@@ -39,7 +39,7 @@ module HyperSpec
|
|
39
39
|
rescue Capybara::NotSupportedByDriverError
|
40
40
|
true
|
41
41
|
rescue Exception => e
|
42
|
-
e.message == 'either jQuery or
|
42
|
+
e.message == 'either jQuery or Hyperloop::HTTP is not defined'
|
43
43
|
end
|
44
44
|
end
|
45
45
|
end
|
@@ -0,0 +1,94 @@
|
|
1
|
+
module React
|
2
|
+
class TopLevelRailsComponent
|
3
|
+
class << self
|
4
|
+
attr_accessor :event_history
|
5
|
+
|
6
|
+
def callback_history_for(proc_name)
|
7
|
+
event_history[proc_name]
|
8
|
+
end
|
9
|
+
|
10
|
+
def last_callback_for(proc_name)
|
11
|
+
event_history[proc_name].last
|
12
|
+
end
|
13
|
+
|
14
|
+
def clear_callback_history_for(proc_name)
|
15
|
+
event_history[proc_name] = []
|
16
|
+
end
|
17
|
+
|
18
|
+
def event_history_for(event_name)
|
19
|
+
event_history["_on#{event_name.event_camelize}"]
|
20
|
+
end
|
21
|
+
|
22
|
+
def last_event_for(event_name)
|
23
|
+
event_history["_on#{event_name.event_camelize}"].last
|
24
|
+
end
|
25
|
+
|
26
|
+
def clear_event_history_for(event_name)
|
27
|
+
event_history["_on#{event_name.event_camelize}"] = []
|
28
|
+
end
|
29
|
+
end
|
30
|
+
|
31
|
+
def component
|
32
|
+
return @component if @component
|
33
|
+
paths_searched = []
|
34
|
+
component = nil
|
35
|
+
if params.component_name.start_with?('::')
|
36
|
+
# if absolute path of component is given, look it up and fail if not found
|
37
|
+
paths_searched << params.component_name
|
38
|
+
component = begin
|
39
|
+
Object.const_get(params.component_name)
|
40
|
+
rescue NameError
|
41
|
+
nil
|
42
|
+
end
|
43
|
+
else
|
44
|
+
# if relative path is given, look it up like this
|
45
|
+
# 1) we check each path + controller-name + component-name
|
46
|
+
# 2) if we can't find it there we check each path + component-name
|
47
|
+
# if we can't find it we just try const_get
|
48
|
+
# so (assuming controller name is Home)
|
49
|
+
# ::Foo::Bar will only resolve to some component named ::Foo::Bar
|
50
|
+
# but Foo::Bar will check (in this order) ::Home::Foo::Bar, ::Components::Home::Foo::Bar, ::Foo::Bar, ::Components::Foo::Bar
|
51
|
+
self.class.search_path.each do |scope|
|
52
|
+
paths_searched << "#{scope.name}::#{params.controller}::#{params.component_name}"
|
53
|
+
component = begin
|
54
|
+
scope.const_get(params.controller, false).const_get(params.component_name, false)
|
55
|
+
rescue NameError
|
56
|
+
nil
|
57
|
+
end
|
58
|
+
break if component != nil
|
59
|
+
end
|
60
|
+
unless component
|
61
|
+
self.class.search_path.each do |scope|
|
62
|
+
paths_searched << "#{scope.name}::#{params.component_name}"
|
63
|
+
component = begin
|
64
|
+
scope.const_get(params.component_name, false)
|
65
|
+
rescue NameError
|
66
|
+
nil
|
67
|
+
end
|
68
|
+
break if component != nil
|
69
|
+
end
|
70
|
+
end
|
71
|
+
end
|
72
|
+
@component = component
|
73
|
+
return @component if @component && @component.method_defined?(:render)
|
74
|
+
raise "Could not find component class '#{params.component_name}' for params.controller '#{params.controller}' in any component directory. Tried [#{paths_searched.join(", ")}]"
|
75
|
+
end
|
76
|
+
|
77
|
+
before_mount do
|
78
|
+
TopLevelRailsComponent.event_history = Hash.new { |h, k| h[k] = [] }
|
79
|
+
@render_params = params.render_params
|
80
|
+
component.validator.rules.each do |name, rules|
|
81
|
+
next unless rules[:type] == Proc
|
82
|
+
|
83
|
+
TopLevelRailsComponent.event_history[name] = []
|
84
|
+
@render_params[name] = lambda do |*args|
|
85
|
+
TopLevelRailsComponent.event_history[name] << args
|
86
|
+
end
|
87
|
+
end
|
88
|
+
end
|
89
|
+
|
90
|
+
def render
|
91
|
+
React::RenderingContext.render(component, @render_params)
|
92
|
+
end
|
93
|
+
end
|
94
|
+
end
|
metadata
CHANGED
@@ -1,31 +1,17 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: hyper-spec
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
4
|
+
version: 1.0.0.lap28
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Mitch VanDuyn
|
8
|
-
-
|
8
|
+
- Adam Creekroad
|
9
9
|
- Jan Biedermann
|
10
10
|
autorequire:
|
11
11
|
bindir: exe
|
12
12
|
cert_chain: []
|
13
|
-
date:
|
13
|
+
date: 2018-05-06 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
|
-
- !ruby/object:Gem::Dependency
|
16
|
-
name: actionview
|
17
|
-
requirement: !ruby/object:Gem::Requirement
|
18
|
-
requirements:
|
19
|
-
- - ">="
|
20
|
-
- !ruby/object:Gem::Version
|
21
|
-
version: '0'
|
22
|
-
type: :runtime
|
23
|
-
prerelease: false
|
24
|
-
version_requirements: !ruby/object:Gem::Requirement
|
25
|
-
requirements:
|
26
|
-
- - ">="
|
27
|
-
- !ruby/object:Gem::Version
|
28
|
-
version: '0'
|
29
15
|
- !ruby/object:Gem::Dependency
|
30
16
|
name: capybara
|
31
17
|
requirement: !ruby/object:Gem::Requirement
|
@@ -42,20 +28,6 @@ dependencies:
|
|
42
28
|
version: '0'
|
43
29
|
- !ruby/object:Gem::Dependency
|
44
30
|
name: chromedriver-helper
|
45
|
-
requirement: !ruby/object:Gem::Requirement
|
46
|
-
requirements:
|
47
|
-
- - '='
|
48
|
-
- !ruby/object:Gem::Version
|
49
|
-
version: 1.2.0
|
50
|
-
type: :runtime
|
51
|
-
prerelease: false
|
52
|
-
version_requirements: !ruby/object:Gem::Requirement
|
53
|
-
requirements:
|
54
|
-
- - '='
|
55
|
-
- !ruby/object:Gem::Version
|
56
|
-
version: 1.2.0
|
57
|
-
- !ruby/object:Gem::Dependency
|
58
|
-
name: filecache
|
59
31
|
requirement: !ruby/object:Gem::Requirement
|
60
32
|
requirements:
|
61
33
|
- - ">="
|
@@ -91,7 +63,7 @@ dependencies:
|
|
91
63
|
version: 0.11.0
|
92
64
|
- - "<"
|
93
65
|
- !ruby/object:Gem::Version
|
94
|
-
version:
|
66
|
+
version: 0.12.0
|
95
67
|
type: :runtime
|
96
68
|
prerelease: false
|
97
69
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -101,9 +73,23 @@ dependencies:
|
|
101
73
|
version: 0.11.0
|
102
74
|
- - "<"
|
103
75
|
- !ruby/object:Gem::Version
|
104
|
-
version:
|
76
|
+
version: 0.12.0
|
105
77
|
- !ruby/object:Gem::Dependency
|
106
78
|
name: parser
|
79
|
+
requirement: !ruby/object:Gem::Requirement
|
80
|
+
requirements:
|
81
|
+
- - ">="
|
82
|
+
- !ruby/object:Gem::Version
|
83
|
+
version: 2.3.3.1
|
84
|
+
type: :runtime
|
85
|
+
prerelease: false
|
86
|
+
version_requirements: !ruby/object:Gem::Requirement
|
87
|
+
requirements:
|
88
|
+
- - ">="
|
89
|
+
- !ruby/object:Gem::Version
|
90
|
+
version: 2.3.3.1
|
91
|
+
- !ruby/object:Gem::Dependency
|
92
|
+
name: pry
|
107
93
|
requirement: !ruby/object:Gem::Requirement
|
108
94
|
requirements:
|
109
95
|
- - ">="
|
@@ -117,7 +103,7 @@ dependencies:
|
|
117
103
|
- !ruby/object:Gem::Version
|
118
104
|
version: '0'
|
119
105
|
- !ruby/object:Gem::Dependency
|
120
|
-
name: rspec
|
106
|
+
name: rspec-rails
|
121
107
|
requirement: !ruby/object:Gem::Requirement
|
122
108
|
requirements:
|
123
109
|
- - ">="
|
@@ -178,14 +164,14 @@ dependencies:
|
|
178
164
|
requirements:
|
179
165
|
- - ">="
|
180
166
|
- !ruby/object:Gem::Version
|
181
|
-
version: 0
|
167
|
+
version: '0'
|
182
168
|
type: :runtime
|
183
169
|
prerelease: false
|
184
170
|
version_requirements: !ruby/object:Gem::Requirement
|
185
171
|
requirements:
|
186
172
|
- - ">="
|
187
173
|
- !ruby/object:Gem::Version
|
188
|
-
version: 0
|
174
|
+
version: '0'
|
189
175
|
- !ruby/object:Gem::Dependency
|
190
176
|
name: webdrivers
|
191
177
|
requirement: !ruby/object:Gem::Requirement
|
@@ -215,33 +201,33 @@ dependencies:
|
|
215
201
|
- !ruby/object:Gem::Version
|
216
202
|
version: '0'
|
217
203
|
- !ruby/object:Gem::Dependency
|
218
|
-
name: hyper-
|
204
|
+
name: hyper-react
|
219
205
|
requirement: !ruby/object:Gem::Requirement
|
220
206
|
requirements:
|
221
207
|
- - '='
|
222
208
|
- !ruby/object:Gem::Version
|
223
|
-
version: 1.0.
|
209
|
+
version: 1.0.0.lap28
|
224
210
|
type: :development
|
225
211
|
prerelease: false
|
226
212
|
version_requirements: !ruby/object:Gem::Requirement
|
227
213
|
requirements:
|
228
214
|
- - '='
|
229
215
|
- !ruby/object:Gem::Version
|
230
|
-
version: 1.0.
|
216
|
+
version: 1.0.0.lap28
|
231
217
|
- !ruby/object:Gem::Dependency
|
232
218
|
name: mini_racer
|
233
219
|
requirement: !ruby/object:Gem::Requirement
|
234
220
|
requirements:
|
235
|
-
- - "
|
221
|
+
- - "~>"
|
236
222
|
- !ruby/object:Gem::Version
|
237
|
-
version:
|
223
|
+
version: 0.1.15
|
238
224
|
type: :development
|
239
225
|
prerelease: false
|
240
226
|
version_requirements: !ruby/object:Gem::Requirement
|
241
227
|
requirements:
|
242
|
-
- - "
|
228
|
+
- - "~>"
|
243
229
|
- !ruby/object:Gem::Version
|
244
|
-
version:
|
230
|
+
version: 0.1.15
|
245
231
|
- !ruby/object:Gem::Dependency
|
246
232
|
name: opal-browser
|
247
233
|
requirement: !ruby/object:Gem::Requirement
|
@@ -260,18 +246,18 @@ dependencies:
|
|
260
246
|
name: opal-rails
|
261
247
|
requirement: !ruby/object:Gem::Requirement
|
262
248
|
requirements:
|
263
|
-
- - "
|
249
|
+
- - "~>"
|
264
250
|
- !ruby/object:Gem::Version
|
265
251
|
version: 0.9.4
|
266
252
|
type: :development
|
267
253
|
prerelease: false
|
268
254
|
version_requirements: !ruby/object:Gem::Requirement
|
269
255
|
requirements:
|
270
|
-
- - "
|
256
|
+
- - "~>"
|
271
257
|
- !ruby/object:Gem::Version
|
272
258
|
version: 0.9.4
|
273
259
|
- !ruby/object:Gem::Dependency
|
274
|
-
name:
|
260
|
+
name: puma
|
275
261
|
requirement: !ruby/object:Gem::Requirement
|
276
262
|
requirements:
|
277
263
|
- - ">="
|
@@ -285,21 +271,21 @@ dependencies:
|
|
285
271
|
- !ruby/object:Gem::Version
|
286
272
|
version: '0'
|
287
273
|
- !ruby/object:Gem::Dependency
|
288
|
-
name:
|
274
|
+
name: rails
|
289
275
|
requirement: !ruby/object:Gem::Requirement
|
290
276
|
requirements:
|
291
277
|
- - ">="
|
292
278
|
- !ruby/object:Gem::Version
|
293
|
-
version:
|
279
|
+
version: 4.0.0
|
294
280
|
type: :development
|
295
281
|
prerelease: false
|
296
282
|
version_requirements: !ruby/object:Gem::Requirement
|
297
283
|
requirements:
|
298
284
|
- - ">="
|
299
285
|
- !ruby/object:Gem::Version
|
300
|
-
version:
|
286
|
+
version: 4.0.0
|
301
287
|
- !ruby/object:Gem::Dependency
|
302
|
-
name:
|
288
|
+
name: rake
|
303
289
|
requirement: !ruby/object:Gem::Requirement
|
304
290
|
requirements:
|
305
291
|
- - ">="
|
@@ -313,27 +299,7 @@ dependencies:
|
|
313
299
|
- !ruby/object:Gem::Version
|
314
300
|
version: '0'
|
315
301
|
- !ruby/object:Gem::Dependency
|
316
|
-
name:
|
317
|
-
requirement: !ruby/object:Gem::Requirement
|
318
|
-
requirements:
|
319
|
-
- - ">="
|
320
|
-
- !ruby/object:Gem::Version
|
321
|
-
version: 5.0.0
|
322
|
-
- - "<"
|
323
|
-
- !ruby/object:Gem::Version
|
324
|
-
version: '7.0'
|
325
|
-
type: :development
|
326
|
-
prerelease: false
|
327
|
-
version_requirements: !ruby/object:Gem::Requirement
|
328
|
-
requirements:
|
329
|
-
- - ">="
|
330
|
-
- !ruby/object:Gem::Version
|
331
|
-
version: 5.0.0
|
332
|
-
- - "<"
|
333
|
-
- !ruby/object:Gem::Version
|
334
|
-
version: '7.0'
|
335
|
-
- !ruby/object:Gem::Dependency
|
336
|
-
name: rake
|
302
|
+
name: pry-rescue
|
337
303
|
requirement: !ruby/object:Gem::Requirement
|
338
304
|
requirements:
|
339
305
|
- - ">="
|
@@ -366,20 +332,6 @@ dependencies:
|
|
366
332
|
- - "<"
|
367
333
|
- !ruby/object:Gem::Version
|
368
334
|
version: 2.5.0
|
369
|
-
- !ruby/object:Gem::Dependency
|
370
|
-
name: rspec-rails
|
371
|
-
requirement: !ruby/object:Gem::Requirement
|
372
|
-
requirements:
|
373
|
-
- - ">="
|
374
|
-
- !ruby/object:Gem::Version
|
375
|
-
version: '0'
|
376
|
-
type: :development
|
377
|
-
prerelease: false
|
378
|
-
version_requirements: !ruby/object:Gem::Requirement
|
379
|
-
requirements:
|
380
|
-
- - ">="
|
381
|
-
- !ruby/object:Gem::Version
|
382
|
-
version: '0'
|
383
335
|
- !ruby/object:Gem::Dependency
|
384
336
|
name: rspec-collection_matchers
|
385
337
|
requirement: !ruby/object:Gem::Requirement
|
@@ -454,16 +406,16 @@ dependencies:
|
|
454
406
|
name: rubocop
|
455
407
|
requirement: !ruby/object:Gem::Requirement
|
456
408
|
requirements:
|
457
|
-
- - "
|
409
|
+
- - "~>"
|
458
410
|
- !ruby/object:Gem::Version
|
459
|
-
version:
|
411
|
+
version: 0.51.0
|
460
412
|
type: :development
|
461
413
|
prerelease: false
|
462
414
|
version_requirements: !ruby/object:Gem::Requirement
|
463
415
|
requirements:
|
464
|
-
- - "
|
416
|
+
- - "~>"
|
465
417
|
- !ruby/object:Gem::Version
|
466
|
-
version:
|
418
|
+
version: 0.51.0
|
467
419
|
- !ruby/object:Gem::Dependency
|
468
420
|
name: shoulda
|
469
421
|
requirement: !ruby/object:Gem::Requirement
|
@@ -506,7 +458,7 @@ dependencies:
|
|
506
458
|
- - ">="
|
507
459
|
- !ruby/object:Gem::Version
|
508
460
|
version: '0'
|
509
|
-
description: A
|
461
|
+
description: A Hyperloop application consists of isomorphic React Components, Active
|
510
462
|
Record Models, Stores, Operations and Policiespec. Test them all from Rspec, regardless
|
511
463
|
if the code runs on the client or server.
|
512
464
|
email:
|
@@ -517,34 +469,28 @@ extensions: []
|
|
517
469
|
extra_rdoc_files: []
|
518
470
|
files:
|
519
471
|
- ".gitignore"
|
472
|
+
- ".rubocop.yml"
|
520
473
|
- ".travis.yml"
|
474
|
+
- CODE_OF_CONDUCT.md
|
521
475
|
- Gemfile
|
476
|
+
- LICENSE.txt
|
477
|
+
- README.md
|
522
478
|
- Rakefile
|
523
479
|
- bin/console
|
524
480
|
- bin/setup
|
481
|
+
- dciy.toml
|
525
482
|
- hyper-spec.gemspec
|
526
483
|
- lib/bin/firebug-2.0.13-fx.xpi
|
527
484
|
- lib/bin/firebug-2.0.19-fx.xpi
|
528
485
|
- lib/hyper-spec.rb
|
529
|
-
- lib/hyper-spec/
|
530
|
-
- lib/hyper-spec/
|
531
|
-
- lib/hyper-spec/helpers.rb
|
532
|
-
- lib/hyper-spec/internal/client_execution.rb
|
533
|
-
- lib/hyper-spec/internal/component_mount.rb
|
534
|
-
- lib/hyper-spec/internal/controller.rb
|
535
|
-
- lib/hyper-spec/internal/copy_locals.rb
|
536
|
-
- lib/hyper-spec/internal/patches.rb
|
537
|
-
- lib/hyper-spec/internal/rails_controller_helpers.rb
|
538
|
-
- lib/hyper-spec/internal/time_cop.rb
|
539
|
-
- lib/hyper-spec/internal/window_sizing.rb
|
540
|
-
- lib/hyper-spec/rack.rb
|
486
|
+
- lib/hyper-spec/component_test_helpers.rb
|
487
|
+
- lib/hyper-spec/time_cop.rb
|
541
488
|
- lib/hyper-spec/version.rb
|
542
489
|
- lib/hyper-spec/wait_for_ajax.rb
|
490
|
+
- lib/react/top_level_rails_component.rb
|
543
491
|
- lib/selenium/web_driver/firefox/profile.rb
|
544
492
|
- lib/sources/lolex.js
|
545
|
-
-
|
546
|
-
- multi_level_how_it_works.md
|
547
|
-
homepage: http://hyperstack.org
|
493
|
+
homepage: http://ruby-hyperloop.org
|
548
494
|
licenses:
|
549
495
|
- MIT
|
550
496
|
metadata: {}
|
@@ -563,8 +509,9 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
563
509
|
- !ruby/object:Gem::Version
|
564
510
|
version: 1.3.1
|
565
511
|
requirements: []
|
566
|
-
|
512
|
+
rubyforge_project:
|
513
|
+
rubygems_version: 2.7.6
|
567
514
|
signing_key:
|
568
515
|
specification_version: 4
|
569
|
-
summary: Drive your
|
516
|
+
summary: Drive your Hyperloop client and server specs from RSpec and Capybara
|
570
517
|
test_files: []
|