hyper-spec 0.1.1 → 0.1.2

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.
@@ -1,3 +1,3 @@
1
1
  module HyperSpec
2
- VERSION = '0.1.1'
2
+ VERSION = '0.1.2'
3
3
  end
@@ -0,0 +1,30 @@
1
+ module HyperSpec
2
+ module WaitForAjax
3
+ def wait_for_ajax
4
+ Timeout.timeout(Capybara.default_max_wait_time) do
5
+ loop do
6
+ sleep 0.25
7
+ break if finished_all_ajax_requests?
8
+ end
9
+ end
10
+ end
11
+
12
+ def running?
13
+ result = page.evaluate_script('(function(active) { return active; })(jQuery.active)')
14
+ result && !result.zero?
15
+ rescue Exception => e
16
+ puts "wait_for_ajax failed while testing state of jQuery.active: #{e}"
17
+ end
18
+
19
+ def finished_all_ajax_requests?
20
+ unless running?
21
+ sleep 0.25 # this was 1 second, not sure if its necessary to be so long...
22
+ !running?
23
+ end
24
+ rescue Capybara::NotSupportedByDriverError
25
+ true
26
+ rescue Exception => e
27
+ e.message == 'jQuery is not defined'
28
+ end
29
+ end
30
+ end
@@ -0,0 +1,7 @@
1
+ module React
2
+ module IsomorphicHelpers
3
+ def self.load_context(ctx, controller, name = nil)
4
+ @context = Context.new("#{controller.object_id}-#{Time.now.to_i}", ctx, controller, name)
5
+ end
6
+ end
7
+ end
@@ -0,0 +1,104 @@
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
+
35
+ if params.component_name.start_with?('::')
36
+ paths_searched << params.component_name.gsub(/^\:\:/, '')
37
+
38
+ @component =
39
+ begin
40
+ params.component_name.gsub(/^\:\:/, '').split('::')
41
+ .inject(Module) { |scope, next_const| scope.const_get(next_const, false) }
42
+ rescue
43
+ nil
44
+ end
45
+
46
+ return @component if @component && @component.method_defined?(:render)
47
+ else
48
+ self.class.search_path.each do |path|
49
+ # try each path + params.controller + params.component_name
50
+ paths_searched << "#{path.name + '::' unless path == Module}"\
51
+ "#{params.controller}::#{params.component_name}"
52
+
53
+ @component =
54
+ begin
55
+ [params.controller, params.component_name]
56
+ .join('::').split('::')
57
+ .inject(path) { |scope, next_const| scope.const_get(next_const, false) }
58
+ rescue
59
+ nil
60
+ end
61
+
62
+ return @component if @component && @component.method_defined?(:render)
63
+ end
64
+
65
+ self.class.search_path.each do |path|
66
+ # then try each path + params.component_name
67
+ paths_searched << "#{path.name + '::' unless path == Module}#{params.component_name}"
68
+ @component =
69
+ begin
70
+ params.component_name.to_s.split('::')
71
+ .inject(path) { |scope, next_const| scope.const_get(next_const, false) }
72
+ rescue
73
+ nil
74
+ end
75
+
76
+ return @component if @component && @component.method_defined?(:render)
77
+ end
78
+ end
79
+
80
+ @component = nil
81
+
82
+ raise "Could not find component class '#{params.component_name}' "\
83
+ "for params.controller '#{params.controller}' in any component directory. "\
84
+ "Tried [#{paths_searched.join(', ')}]"
85
+ end
86
+
87
+ before_mount do
88
+ TopLevelRailsComponent.event_history = Hash.new { |h, k| h[k] = [] }
89
+ @render_params = params.render_params
90
+ component.validator.rules.each do |name, rules|
91
+ next unless rules[:type] == Proc
92
+
93
+ TopLevelRailsComponent.event_history[name] = []
94
+ @render_params[name] = lambda do |*args|
95
+ TopLevelRailsComponent.event_history[name] << args
96
+ end
97
+ end
98
+ end
99
+
100
+ def render
101
+ present component, @render_params
102
+ end
103
+ end
104
+ end
@@ -0,0 +1,55 @@
1
+ module Selenium
2
+ module WebDriver
3
+ module Firefox
4
+ class Profile
5
+ class << self
6
+ attr_accessor :firebug_version
7
+
8
+ def firebug_version
9
+ @firebug_version ||= '2.0.13-fx'
10
+ end
11
+ end
12
+
13
+ def frame_position
14
+ @frame_position ||= 'detached'
15
+ end
16
+
17
+ def frame_position=(position)
18
+ @frame_position = %w(left right top detached).detect do |side|
19
+ position && position[0].downcase == side[0]
20
+ end || 'detached'
21
+ end
22
+
23
+ def enable_firebug(version = nil)
24
+ version ||= Selenium::WebDriver::Firefox::Profile.firebug_version
25
+ add_extension(File.expand_path("../../../../bin/firebug-#{version}.xpi", __FILE__))
26
+
27
+ # For some reason, Firebug seems to trigger the Firefox plugin check
28
+ # (navigating to https://www.mozilla.org/en-US/plugincheck/ at startup).
29
+ # This prevents it. See http://code.google.com/p/selenium/issues/detail?id=4619.
30
+ self['extensions.blocklist.enabled'] = false
31
+
32
+ # Prevent "Welcome!" tab
33
+ self['extensions.firebug.showFirstRunPage'] = false
34
+
35
+ # Enable for all sites.
36
+ self['extensions.firebug.allPagesActivation'] = 'on'
37
+
38
+ # Enable all features.
39
+ %w(console net script).each do |feature|
40
+ self["extensions.firebug.#{feature}.enableSites"] = true
41
+ end
42
+
43
+ # Closed by default, will open detached.
44
+ self['extensions.firebug.framePosition'] = frame_position
45
+ self['extensions.firebug.previousPlacement'] = 3
46
+ self['extensions.firebug.defaultPanelName'] = 'console'
47
+
48
+ # Disable native "Inspect Element" menu item.
49
+ self['devtools.inspector.enabled'] = false
50
+ self['extensions.firebug.hideDefaultInspector'] = true
51
+ end
52
+ end
53
+ end
54
+ end
55
+ end
@@ -38,7 +38,6 @@ if RUBY_ENGINE == 'opal'
38
38
  mock_elapsed_time = mock_clock - @mock_start_time
39
39
 
40
40
  ticks = real_elapsed_time * @scale - mock_elapsed_time
41
- #puts "ticking... #{real_clock}: #{Time.now} + #{ticks / 1000} = #{Time.now + ticks/1000}"
42
41
 
43
42
  `#{@lolex}.tick(#{ticks.to_i})`
44
43
  nil
@@ -53,21 +52,22 @@ if RUBY_ENGINE == 'opal'
53
52
  #{@resolution}
54
53
  )
55
54
  }
56
- return ticker
55
+ ticker
57
56
  end
58
57
 
59
58
  def update_lolex(time, scale, resolution)
60
- #puts "update_lolex(#{time}, #{scale}, #{resolution}) time.to_f: #{(time.to_f*1000)}"
61
59
  `#{@lolex}.uninstall()` && return if scale.nil?
62
60
  @mock_start_time = time.to_f * 1000
61
+
63
62
  if @lolex
64
63
  `#{@lolex}['_clearInterval'].call(window, #{@ticker})` if @ticker
65
64
  @real_start_time = `(new #{@lolex}['_Date']).getTime()`
66
- `#{@lolex}.tick(#{@mock_start_time-Time.now.to_f * 1000})`
65
+ `#{@lolex}.tick(#{@mock_start_time - Time.now.to_f * 1000})`
67
66
  else
68
67
  @real_start_time = Time.now.to_f * 1000
69
68
  @lolex = `lolex.install(window, #{@mock_start_time})`
70
69
  end
70
+
71
71
  @scale = scale
72
72
  @resolution = resolution
73
73
  @ticker = create_ticker
@@ -77,6 +77,8 @@ if RUBY_ENGINE == 'opal'
77
77
  end
78
78
 
79
79
  else
80
+ require 'timecop'
81
+
80
82
  # Interface to the Lolex package running on the client side
81
83
  # Below we will monkey patch Timecop to call these methods
82
84
  class Lolex
@@ -138,19 +140,14 @@ else
138
140
 
139
141
  def run_pending_evaluations
140
142
  return if pending_evaluations.empty?
141
- @capybara_page.evaluate_ruby(pending_evaluations.collect do |block|
142
- block.call
143
- end.join("\n"))
143
+ @capybara_page.evaluate_ruby(pending_evaluations.collect(&:call).join("\n"))
144
144
  @pending_evaluations ||= []
145
145
  end
146
146
  end
147
147
  end
148
148
 
149
- require 'timecop'
150
-
151
149
  # Monkey patches to call our Lolex interface
152
150
  class Timecop
153
-
154
151
  private
155
152
 
156
153
  def travel(mock_type, *args, &block)
metadata CHANGED
@@ -1,10 +1,11 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: hyper-spec
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.1.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - catmando
8
+ - adamcreekroad
8
9
  autorequire:
9
10
  bindir: exe
10
11
  cert_chain: []
@@ -24,20 +25,6 @@ dependencies:
24
25
  - - "~>"
25
26
  - !ruby/object:Gem::Version
26
27
  version: '1.12'
27
- - !ruby/object:Gem::Dependency
28
- name: rake
29
- requirement: !ruby/object:Gem::Requirement
30
- requirements:
31
- - - "~>"
32
- - !ruby/object:Gem::Version
33
- version: '10.0'
34
- type: :development
35
- prerelease: false
36
- version_requirements: !ruby/object:Gem::Requirement
37
- requirements:
38
- - - "~>"
39
- - !ruby/object:Gem::Version
40
- version: '10.0'
41
28
  - !ruby/object:Gem::Dependency
42
29
  name: hyper-react
43
30
  requirement: !ruby/object:Gem::Requirement
@@ -45,27 +32,13 @@ dependencies:
45
32
  - - ">="
46
33
  - !ruby/object:Gem::Version
47
34
  version: 0.10.0
48
- type: :runtime
49
- prerelease: false
50
- version_requirements: !ruby/object:Gem::Requirement
51
- requirements:
52
- - - ">="
53
- - !ruby/object:Gem::Version
54
- version: 0.10.0
55
- - !ruby/object:Gem::Dependency
56
- name: rspec-rails
57
- requirement: !ruby/object:Gem::Requirement
58
- requirements:
59
- - - ">="
60
- - !ruby/object:Gem::Version
61
- version: '0'
62
35
  type: :development
63
36
  prerelease: false
64
37
  version_requirements: !ruby/object:Gem::Requirement
65
38
  requirements:
66
39
  - - ">="
67
40
  - !ruby/object:Gem::Version
68
- version: '0'
41
+ version: 0.10.0
69
42
  - !ruby/object:Gem::Dependency
70
43
  name: rails
71
44
  requirement: !ruby/object:Gem::Requirement
@@ -81,35 +54,35 @@ dependencies:
81
54
  - !ruby/object:Gem::Version
82
55
  version: 5.0.0
83
56
  - !ruby/object:Gem::Dependency
84
- name: react-rails
57
+ name: rake
85
58
  requirement: !ruby/object:Gem::Requirement
86
59
  requirements:
87
60
  - - "~>"
88
61
  - !ruby/object:Gem::Version
89
- version: 1.4.0
62
+ version: '10.0'
90
63
  type: :development
91
64
  prerelease: false
92
65
  version_requirements: !ruby/object:Gem::Requirement
93
66
  requirements:
94
67
  - - "~>"
95
68
  - !ruby/object:Gem::Version
96
- version: 1.4.0
69
+ version: '10.0'
97
70
  - !ruby/object:Gem::Dependency
98
- name: opal-rails
71
+ name: react-rails
99
72
  requirement: !ruby/object:Gem::Requirement
100
73
  requirements:
101
- - - ">="
74
+ - - "<"
102
75
  - !ruby/object:Gem::Version
103
- version: '0'
76
+ version: 1.10.0
104
77
  type: :development
105
78
  prerelease: false
106
79
  version_requirements: !ruby/object:Gem::Requirement
107
80
  requirements:
108
- - - ">="
81
+ - - "<"
109
82
  - !ruby/object:Gem::Version
110
- version: '0'
83
+ version: 1.10.0
111
84
  - !ruby/object:Gem::Dependency
112
- name: puma
85
+ name: rubocop
113
86
  requirement: !ruby/object:Gem::Requirement
114
87
  requirements:
115
88
  - - ">="
@@ -137,13 +110,13 @@ dependencies:
137
110
  - !ruby/object:Gem::Version
138
111
  version: 0.12.2
139
112
  - !ruby/object:Gem::Dependency
140
- name: rspec-mocks
113
+ name: capybara
141
114
  requirement: !ruby/object:Gem::Requirement
142
115
  requirements:
143
116
  - - ">="
144
117
  - !ruby/object:Gem::Version
145
118
  version: '0'
146
- type: :development
119
+ type: :runtime
147
120
  prerelease: false
148
121
  version_requirements: !ruby/object:Gem::Requirement
149
122
  requirements:
@@ -151,13 +124,13 @@ dependencies:
151
124
  - !ruby/object:Gem::Version
152
125
  version: '0'
153
126
  - !ruby/object:Gem::Dependency
154
- name: rspec-expectations
127
+ name: opal
155
128
  requirement: !ruby/object:Gem::Requirement
156
129
  requirements:
157
130
  - - ">="
158
131
  - !ruby/object:Gem::Version
159
132
  version: '0'
160
- type: :development
133
+ type: :runtime
161
134
  prerelease: false
162
135
  version_requirements: !ruby/object:Gem::Requirement
163
136
  requirements:
@@ -165,13 +138,13 @@ dependencies:
165
138
  - !ruby/object:Gem::Version
166
139
  version: '0'
167
140
  - !ruby/object:Gem::Dependency
168
- name: shoulda
141
+ name: parser
169
142
  requirement: !ruby/object:Gem::Requirement
170
143
  requirements:
171
144
  - - ">="
172
145
  - !ruby/object:Gem::Version
173
146
  version: '0'
174
- type: :development
147
+ type: :runtime
175
148
  prerelease: false
176
149
  version_requirements: !ruby/object:Gem::Requirement
177
150
  requirements:
@@ -179,13 +152,13 @@ dependencies:
179
152
  - !ruby/object:Gem::Version
180
153
  version: '0'
181
154
  - !ruby/object:Gem::Dependency
182
- name: shoulda-matchers
155
+ name: poltergeist
183
156
  requirement: !ruby/object:Gem::Requirement
184
157
  requirements:
185
158
  - - ">="
186
159
  - !ruby/object:Gem::Version
187
160
  version: '0'
188
- type: :development
161
+ type: :runtime
189
162
  prerelease: false
190
163
  version_requirements: !ruby/object:Gem::Requirement
191
164
  requirements:
@@ -193,13 +166,13 @@ dependencies:
193
166
  - !ruby/object:Gem::Version
194
167
  version: '0'
195
168
  - !ruby/object:Gem::Dependency
196
- name: rspec-its
169
+ name: pry
197
170
  requirement: !ruby/object:Gem::Requirement
198
171
  requirements:
199
172
  - - ">="
200
173
  - !ruby/object:Gem::Version
201
174
  version: '0'
202
- type: :development
175
+ type: :runtime
203
176
  prerelease: false
204
177
  version_requirements: !ruby/object:Gem::Requirement
205
178
  requirements:
@@ -207,13 +180,13 @@ dependencies:
207
180
  - !ruby/object:Gem::Version
208
181
  version: '0'
209
182
  - !ruby/object:Gem::Dependency
210
- name: rspec-collection_matchers
183
+ name: rspec-rails
211
184
  requirement: !ruby/object:Gem::Requirement
212
185
  requirements:
213
186
  - - ">="
214
187
  - !ruby/object:Gem::Version
215
188
  version: '0'
216
- type: :development
189
+ type: :runtime
217
190
  prerelease: false
218
191
  version_requirements: !ruby/object:Gem::Requirement
219
192
  requirements:
@@ -221,13 +194,27 @@ dependencies:
221
194
  - !ruby/object:Gem::Version
222
195
  version: '0'
223
196
  - !ruby/object:Gem::Dependency
224
- name: capybara
197
+ name: selenium-webdriver
198
+ requirement: !ruby/object:Gem::Requirement
199
+ requirements:
200
+ - - '='
201
+ - !ruby/object:Gem::Version
202
+ version: 2.53.4
203
+ type: :runtime
204
+ prerelease: false
205
+ version_requirements: !ruby/object:Gem::Requirement
206
+ requirements:
207
+ - - '='
208
+ - !ruby/object:Gem::Version
209
+ version: 2.53.4
210
+ - !ruby/object:Gem::Dependency
211
+ name: timecop
225
212
  requirement: !ruby/object:Gem::Requirement
226
213
  requirements:
227
214
  - - ">="
228
215
  - !ruby/object:Gem::Version
229
216
  version: '0'
230
- type: :development
217
+ type: :runtime
231
218
  prerelease: false
232
219
  version_requirements: !ruby/object:Gem::Requirement
233
220
  requirements:
@@ -235,21 +222,21 @@ dependencies:
235
222
  - !ruby/object:Gem::Version
236
223
  version: '0'
237
224
  - !ruby/object:Gem::Dependency
238
- name: selenium-webdriver
225
+ name: unparser
239
226
  requirement: !ruby/object:Gem::Requirement
240
227
  requirements:
241
228
  - - '='
242
229
  - !ruby/object:Gem::Version
243
- version: 2.53.4
244
- type: :development
230
+ version: 0.2.5
231
+ type: :runtime
245
232
  prerelease: false
246
233
  version_requirements: !ruby/object:Gem::Requirement
247
234
  requirements:
248
235
  - - '='
249
236
  - !ruby/object:Gem::Version
250
- version: 2.53.4
237
+ version: 0.2.5
251
238
  - !ruby/object:Gem::Dependency
252
- name: poltergeist
239
+ name: chromedriver-helper
253
240
  requirement: !ruby/object:Gem::Requirement
254
241
  requirements:
255
242
  - - ">="
@@ -263,7 +250,7 @@ dependencies:
263
250
  - !ruby/object:Gem::Version
264
251
  version: '0'
265
252
  - !ruby/object:Gem::Dependency
266
- name: spring-commands-rspec
253
+ name: method_source
267
254
  requirement: !ruby/object:Gem::Requirement
268
255
  requirements:
269
256
  - - ">="
@@ -277,7 +264,7 @@ dependencies:
277
264
  - !ruby/object:Gem::Version
278
265
  version: '0'
279
266
  - !ruby/object:Gem::Dependency
280
- name: chromedriver-helper
267
+ name: opal-browser
281
268
  requirement: !ruby/object:Gem::Requirement
282
269
  requirements:
283
270
  - - ">="
@@ -291,7 +278,7 @@ dependencies:
291
278
  - !ruby/object:Gem::Version
292
279
  version: '0'
293
280
  - !ruby/object:Gem::Dependency
294
- name: parser
281
+ name: opal-rails
295
282
  requirement: !ruby/object:Gem::Requirement
296
283
  requirements:
297
284
  - - ">="
@@ -305,21 +292,21 @@ dependencies:
305
292
  - !ruby/object:Gem::Version
306
293
  version: '0'
307
294
  - !ruby/object:Gem::Dependency
308
- name: unparser
295
+ name: puma
309
296
  requirement: !ruby/object:Gem::Requirement
310
297
  requirements:
311
- - - '='
298
+ - - ">="
312
299
  - !ruby/object:Gem::Version
313
- version: 0.2.5
300
+ version: '0'
314
301
  type: :development
315
302
  prerelease: false
316
303
  version_requirements: !ruby/object:Gem::Requirement
317
304
  requirements:
318
- - - '='
305
+ - - ">="
319
306
  - !ruby/object:Gem::Version
320
- version: 0.2.5
307
+ version: '0'
321
308
  - !ruby/object:Gem::Dependency
322
- name: pry
309
+ name: rspec-collection_matchers
323
310
  requirement: !ruby/object:Gem::Requirement
324
311
  requirements:
325
312
  - - ">="
@@ -333,7 +320,7 @@ dependencies:
333
320
  - !ruby/object:Gem::Version
334
321
  version: '0'
335
322
  - !ruby/object:Gem::Dependency
336
- name: method_source
323
+ name: rspec-expectations
337
324
  requirement: !ruby/object:Gem::Requirement
338
325
  requirements:
339
326
  - - ">="
@@ -347,7 +334,21 @@ dependencies:
347
334
  - !ruby/object:Gem::Version
348
335
  version: '0'
349
336
  - !ruby/object:Gem::Dependency
350
- name: opal-browser
337
+ name: rspec-its
338
+ requirement: !ruby/object:Gem::Requirement
339
+ requirements:
340
+ - - ">="
341
+ - !ruby/object:Gem::Version
342
+ version: '0'
343
+ type: :development
344
+ prerelease: false
345
+ version_requirements: !ruby/object:Gem::Requirement
346
+ requirements:
347
+ - - ">="
348
+ - !ruby/object:Gem::Version
349
+ version: '0'
350
+ - !ruby/object:Gem::Dependency
351
+ name: rspec-mocks
351
352
  requirement: !ruby/object:Gem::Requirement
352
353
  requirements:
353
354
  - - ">="
@@ -375,13 +376,13 @@ dependencies:
375
376
  - !ruby/object:Gem::Version
376
377
  version: '0'
377
378
  - !ruby/object:Gem::Dependency
378
- name: rails
379
+ name: shoulda
379
380
  requirement: !ruby/object:Gem::Requirement
380
381
  requirements:
381
382
  - - ">="
382
383
  - !ruby/object:Gem::Version
383
384
  version: '0'
384
- type: :runtime
385
+ type: :development
385
386
  prerelease: false
386
387
  version_requirements: !ruby/object:Gem::Requirement
387
388
  requirements:
@@ -389,7 +390,21 @@ dependencies:
389
390
  - !ruby/object:Gem::Version
390
391
  version: '0'
391
392
  - !ruby/object:Gem::Dependency
392
- name: timecop
393
+ name: shoulda-matchers
394
+ requirement: !ruby/object:Gem::Requirement
395
+ requirements:
396
+ - - ">="
397
+ - !ruby/object:Gem::Version
398
+ version: '0'
399
+ type: :development
400
+ prerelease: false
401
+ version_requirements: !ruby/object:Gem::Requirement
402
+ requirements:
403
+ - - ">="
404
+ - !ruby/object:Gem::Version
405
+ version: '0'
406
+ - !ruby/object:Gem::Dependency
407
+ name: spring-commands-rspec
393
408
  requirement: !ruby/object:Gem::Requirement
394
409
  requirements:
395
410
  - - ">="
@@ -412,6 +427,7 @@ extensions: []
412
427
  extra_rdoc_files: []
413
428
  files:
414
429
  - ".gitignore"
430
+ - ".rubocop.yml"
415
431
  - CODE_OF_CONDUCT.md
416
432
  - Gemfile
417
433
  - Gemfile.lock
@@ -424,16 +440,22 @@ files:
424
440
  - lib/bin/firebug-2.0.13-fx.xpi
425
441
  - lib/hyper-spec.rb
426
442
  - lib/hyper-spec/component_helpers.rb
427
- - lib/hyper-spec/engine.rb
443
+ - lib/hyper-spec/component_test_helpers.rb
444
+ - lib/hyper-spec/lolex.rb
445
+ - lib/hyper-spec/rails/engine.rb
428
446
  - lib/hyper-spec/time_cop.rb
429
447
  - lib/hyper-spec/version.rb
430
- - play.rb
448
+ - lib/hyper-spec/wait_for_ajax.rb
449
+ - lib/react/isomorphic_helpers.rb
450
+ - lib/react/top_level_rails_component.rb
451
+ - lib/selenium/web_driver/firefox/profile.rb
431
452
  - vendor/assets/javascripts/lolex.js
432
453
  - vendor/assets/javascripts/time_cop.rb
433
454
  homepage: https://github.com/ruby-hyperloop/hyper-spec
434
455
  licenses:
435
456
  - MIT
436
- metadata: {}
457
+ metadata:
458
+ allowed_push_host: https://rubygems.org
437
459
  post_install_message:
438
460
  rdoc_options: []
439
461
  require_paths: