hyper-spec 1.0.alpha1.8.1 → 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 +22 -18
- 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/hyper-spec.rb +24 -148
- data/lib/react/top_level_rails_component.rb +94 -0
- metadata +71 -96
- 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
data/lib/hyper-spec.rb
CHANGED
@@ -1,117 +1,14 @@
|
|
1
|
-
# hyper-spec
|
2
|
-
require 'action_view'
|
3
|
-
require 'opal'
|
4
|
-
require 'unparser'
|
5
|
-
require 'method_source'
|
6
|
-
require 'filecache'
|
7
|
-
|
8
1
|
require 'capybara/rspec'
|
9
|
-
require '
|
10
|
-
require 'hyper-spec/internal/component_mount'
|
11
|
-
require 'hyper-spec/internal/controller'
|
12
|
-
require 'hyper-spec/internal/copy_locals'
|
13
|
-
require 'hyper-spec/internal/patches'
|
14
|
-
require 'hyper-spec/internal/rails_controller_helpers'
|
15
|
-
require 'hyper-spec/internal/time_cop.rb'
|
16
|
-
require 'hyper-spec/internal/window_sizing'
|
17
|
-
|
18
|
-
require 'hyper-spec/controller_helpers'
|
19
|
-
|
20
|
-
require 'hyper-spec/wait_for_ajax'
|
21
|
-
|
22
|
-
require 'hyper-spec/helpers'
|
23
|
-
require 'hyper-spec/expectations'
|
24
|
-
|
25
|
-
require 'parser/current'
|
26
|
-
if defined?(Selenium::WebDriver::Firefox)
|
27
|
-
require 'selenium/web_driver/firefox/profile'
|
28
|
-
end
|
29
|
-
|
30
|
-
require 'hyper-spec/version'
|
31
|
-
|
32
|
-
|
33
|
-
begin
|
34
|
-
require 'pry'
|
35
|
-
rescue LoadError
|
36
|
-
nil
|
37
|
-
end
|
38
|
-
|
39
|
-
# opt-in to most recent AST format:
|
40
|
-
Parser::Builders::Default.emit_lambda = true
|
41
|
-
Parser::Builders::Default.emit_procarg0 = true
|
42
|
-
(Parser::Builders::Default.emit_encoding = true) rescue nil
|
43
|
-
(Parser::Builders::Default.emit_index = true) rescue nil
|
44
|
-
(Parser::Builders::Default.emit_arg_inside_procarg0 = true) rescue nil
|
45
|
-
(Parser::Builders::Default.emit_forward_arg = true) rescue nil
|
46
|
-
(Parser::Builders::Default.emit_kwargs = true) rescue nil
|
47
|
-
(Parser::Builders::Default.emit_match_pattern = true) rescue nil
|
48
|
-
|
49
|
-
# not available in parser 2.3
|
50
|
-
if Parser::Builders::Default.respond_to? :emit_arg_inside_procarg0
|
51
|
-
Parser::Builders::Default.emit_arg_inside_procarg0 = true
|
52
|
-
end
|
53
|
-
|
54
|
-
module HyperSpec
|
55
|
-
if defined? Pry
|
56
|
-
# add a before eval hook to pry so we can capture the source
|
57
|
-
class << self
|
58
|
-
attr_accessor :current_pry_code_block
|
59
|
-
Pry.hooks.add_hook(:before_eval, 'hyper_spec_code_capture') do |code|
|
60
|
-
HyperSpec.current_pry_code_block = code
|
61
|
-
end
|
62
|
-
end
|
63
|
-
end
|
64
|
-
|
65
|
-
def self.reset_between_examples
|
66
|
-
@reset_between_examples ||= []
|
67
|
-
end
|
68
|
-
|
69
|
-
def self.reset_between_examples?
|
70
|
-
RSpec.configuration.reset_between_examples
|
71
|
-
end
|
72
|
-
|
73
|
-
def self.reset_sessions!
|
74
|
-
Capybara.old_reset_sessions!
|
75
|
-
end
|
76
|
-
end
|
77
|
-
|
2
|
+
require 'opal'
|
78
3
|
require 'selenium-webdriver'
|
79
4
|
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
old_reset_sessions! if HyperSpec.reset_between_examples?
|
85
|
-
end
|
86
|
-
end
|
87
|
-
end
|
88
|
-
|
89
|
-
RSpec.configure do |config|
|
90
|
-
config.add_setting :reset_between_examples, default: true
|
91
|
-
config.before(:all, no_reset: true) do
|
92
|
-
HyperSpec.reset_between_examples << RSpec.configuration.reset_between_examples
|
93
|
-
RSpec.configuration.reset_between_examples = false
|
94
|
-
end
|
95
|
-
config.before(:all, no_reset: false) do
|
96
|
-
HyperSpec.reset_between_examples << RSpec.configuration.reset_between_examples
|
97
|
-
RSpec.configuration.reset_between_examples = true
|
98
|
-
end
|
99
|
-
config.after(:all) do
|
100
|
-
HyperSpec.reset_sessions! unless HyperSpec.reset_between_examples?
|
101
|
-
# If rspecs step is used first in a file, it will NOT call config.before(:all) causing the
|
102
|
-
# reset_between_examples stack to be mismatched, so we check, if its already empty we
|
103
|
-
# just leave.
|
104
|
-
next if HyperSpec.reset_between_examples.empty?
|
105
|
-
|
106
|
-
RSpec.configuration.reset_between_examples = HyperSpec.reset_between_examples.pop
|
107
|
-
end
|
108
|
-
config.before(:each) do |example|
|
109
|
-
insure_page_loaded(true) if example.metadata[:js] && !HyperSpec.reset_between_examples?
|
110
|
-
end
|
111
|
-
end
|
5
|
+
require 'hyper-spec/component_test_helpers'
|
6
|
+
require 'hyper-spec/version'
|
7
|
+
require 'hyper-spec/wait_for_ajax'
|
8
|
+
require 'selenium/web_driver/firefox/profile'
|
112
9
|
|
113
10
|
RSpec.configure do |config|
|
114
|
-
config.include HyperSpec::
|
11
|
+
config.include HyperSpec::ComponentTestHelpers
|
115
12
|
config.include HyperSpec::WaitForAjax
|
116
13
|
config.include Capybara::DSL
|
117
14
|
|
@@ -120,21 +17,17 @@ RSpec.configure do |config|
|
|
120
17
|
config.add_setting :debugger_width, default: nil
|
121
18
|
|
122
19
|
config.before(:each) do
|
123
|
-
|
124
|
-
|
125
|
-
|
126
|
-
true
|
127
|
-
end
|
20
|
+
Hyperloop.class_eval do
|
21
|
+
def self.on_server?
|
22
|
+
true
|
128
23
|
end
|
129
|
-
end
|
24
|
+
end if defined?(Hyperloop)
|
130
25
|
# for compatibility with HyperMesh
|
131
|
-
|
132
|
-
|
133
|
-
|
134
|
-
true
|
135
|
-
end
|
26
|
+
HyperMesh.class_eval do
|
27
|
+
def self.on_server?
|
28
|
+
true
|
136
29
|
end
|
137
|
-
end
|
30
|
+
end if defined?(HyperMesh)
|
138
31
|
end
|
139
32
|
|
140
33
|
config.before(:each, js: true) do
|
@@ -150,30 +43,22 @@ RSpec.configure do |config|
|
|
150
43
|
PusherFake::Channel.reset if defined? PusherFake
|
151
44
|
end
|
152
45
|
end
|
46
|
+
|
153
47
|
end
|
154
48
|
|
155
49
|
# Capybara config
|
156
|
-
RSpec.configure do |
|
157
|
-
config.before(:each) do |example|
|
158
|
-
HyperSpec::Internal::Controller.current_example = example
|
159
|
-
HyperSpec::Internal::Controller.description_displayed = false
|
160
|
-
end
|
161
|
-
|
162
|
-
config.add_setting :wait_for_initialization_time
|
163
|
-
config.wait_for_initialization_time = 3
|
164
|
-
|
50
|
+
RSpec.configure do |_config|
|
165
51
|
Capybara.default_max_wait_time = 10
|
166
52
|
|
167
53
|
Capybara.register_driver :chrome do |app|
|
168
54
|
options = {}
|
169
55
|
options.merge!(
|
170
|
-
|
171
|
-
|
172
|
-
)
|
56
|
+
args: %w[auto-open-devtools-for-tabs],
|
57
|
+
prefs: { 'devtools.open_docked' => false, "devtools.currentDockState" => "undocked", devtools: {currentDockState: :undocked} }
|
58
|
+
) unless ENV['NO_DEBUGGER']
|
59
|
+
# this does not seem to work properly. Don't document this feature yet.
|
173
60
|
options['mobileEmulation'] = { 'deviceName' => ENV['DEVICE'].tr('-', ' ') } if ENV['DEVICE']
|
174
|
-
capabilities = Selenium::WebDriver::Remote::Capabilities.chrome(
|
175
|
-
chromeOptions: options, 'goog:loggingPrefs' => { browser: 'ALL' }
|
176
|
-
)
|
61
|
+
capabilities = Selenium::WebDriver::Remote::Capabilities.chrome(chromeOptions: options)
|
177
62
|
Capybara::Selenium::Driver.new(app, browser: :chrome, desired_capabilities: capabilities)
|
178
63
|
end
|
179
64
|
|
@@ -181,20 +66,11 @@ RSpec.configure do |config|
|
|
181
66
|
Capybara::Selenium::Driver.new(app, browser: :firefox)
|
182
67
|
end
|
183
68
|
|
184
|
-
Capybara.register_driver :chrome_headless_docker_travis do |app|
|
185
|
-
options = ::Selenium::WebDriver::Chrome::Options.new
|
186
|
-
options.add_argument('--headless')
|
187
|
-
options.add_argument('--no-sandbox')
|
188
|
-
options.add_argument('--disable-dev-shm-usage')
|
189
|
-
Selenium::WebDriver::Chrome::Service.driver_path = '/usr/lib/chromium-browser/chromedriver'
|
190
|
-
Capybara::Selenium::Driver.new(app, browser: :chrome, options: options)
|
191
|
-
end
|
192
|
-
|
193
69
|
Capybara.register_driver :firefox_headless do |app|
|
194
70
|
options = Selenium::WebDriver::Firefox::Options.new
|
195
71
|
options.headless!
|
196
72
|
Capybara::Selenium::Driver.new(app, browser: :firefox, options: options)
|
197
|
-
end
|
73
|
+
end
|
198
74
|
|
199
75
|
Capybara.register_driver :selenium_with_firebug do |app|
|
200
76
|
profile = Selenium::WebDriver::Firefox::Profile.new
|
@@ -202,7 +78,7 @@ RSpec.configure do |config|
|
|
202
78
|
profile.enable_firebug
|
203
79
|
options = Selenium::WebDriver::Firefox::Options.new(profile: profile)
|
204
80
|
Capybara::Selenium::Driver.new(app, browser: :firefox, options: options)
|
205
|
-
end
|
81
|
+
end
|
206
82
|
|
207
83
|
Capybara.register_driver :safari do |app|
|
208
84
|
Capybara::Selenium::Driver.new(app, browser: :safari)
|
@@ -216,7 +92,7 @@ RSpec.configure do |config|
|
|
216
92
|
when 'firefox' then :firefox
|
217
93
|
when 'headless' then :selenium_chrome_headless
|
218
94
|
when 'safari' then :safari
|
219
|
-
when 'travis' then :chrome_headless_docker_travis
|
220
95
|
else :selenium_chrome_headless
|
221
96
|
end
|
97
|
+
|
222
98
|
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,19 +1,19 @@
|
|
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
|
-
autorequire:
|
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
15
|
- !ruby/object:Gem::Dependency
|
16
|
-
name:
|
16
|
+
name: capybara
|
17
17
|
requirement: !ruby/object:Gem::Requirement
|
18
18
|
requirements:
|
19
19
|
- - ">="
|
@@ -27,7 +27,7 @@ dependencies:
|
|
27
27
|
- !ruby/object:Gem::Version
|
28
28
|
version: '0'
|
29
29
|
- !ruby/object:Gem::Dependency
|
30
|
-
name:
|
30
|
+
name: chromedriver-helper
|
31
31
|
requirement: !ruby/object:Gem::Requirement
|
32
32
|
requirements:
|
33
33
|
- - ">="
|
@@ -41,7 +41,7 @@ dependencies:
|
|
41
41
|
- !ruby/object:Gem::Version
|
42
42
|
version: '0'
|
43
43
|
- !ruby/object:Gem::Dependency
|
44
|
-
name:
|
44
|
+
name: method_source
|
45
45
|
requirement: !ruby/object:Gem::Requirement
|
46
46
|
requirements:
|
47
47
|
- - ">="
|
@@ -55,41 +55,41 @@ dependencies:
|
|
55
55
|
- !ruby/object:Gem::Version
|
56
56
|
version: '0'
|
57
57
|
- !ruby/object:Gem::Dependency
|
58
|
-
name:
|
58
|
+
name: opal
|
59
59
|
requirement: !ruby/object:Gem::Requirement
|
60
60
|
requirements:
|
61
61
|
- - ">="
|
62
62
|
- !ruby/object:Gem::Version
|
63
|
-
version:
|
63
|
+
version: 0.11.0
|
64
|
+
- - "<"
|
65
|
+
- !ruby/object:Gem::Version
|
66
|
+
version: 0.12.0
|
64
67
|
type: :runtime
|
65
68
|
prerelease: false
|
66
69
|
version_requirements: !ruby/object:Gem::Requirement
|
67
70
|
requirements:
|
68
71
|
- - ">="
|
69
72
|
- !ruby/object:Gem::Version
|
70
|
-
version:
|
73
|
+
version: 0.11.0
|
74
|
+
- - "<"
|
75
|
+
- !ruby/object:Gem::Version
|
76
|
+
version: 0.12.0
|
71
77
|
- !ruby/object:Gem::Dependency
|
72
|
-
name:
|
78
|
+
name: parser
|
73
79
|
requirement: !ruby/object:Gem::Requirement
|
74
80
|
requirements:
|
75
81
|
- - ">="
|
76
82
|
- !ruby/object:Gem::Version
|
77
|
-
version:
|
78
|
-
- - "<"
|
79
|
-
- !ruby/object:Gem::Version
|
80
|
-
version: '2.0'
|
83
|
+
version: 2.3.3.1
|
81
84
|
type: :runtime
|
82
85
|
prerelease: false
|
83
86
|
version_requirements: !ruby/object:Gem::Requirement
|
84
87
|
requirements:
|
85
88
|
- - ">="
|
86
89
|
- !ruby/object:Gem::Version
|
87
|
-
version:
|
88
|
-
- - "<"
|
89
|
-
- !ruby/object:Gem::Version
|
90
|
-
version: '2.0'
|
90
|
+
version: 2.3.3.1
|
91
91
|
- !ruby/object:Gem::Dependency
|
92
|
-
name:
|
92
|
+
name: pry
|
93
93
|
requirement: !ruby/object:Gem::Requirement
|
94
94
|
requirements:
|
95
95
|
- - ">="
|
@@ -103,7 +103,7 @@ dependencies:
|
|
103
103
|
- !ruby/object:Gem::Version
|
104
104
|
version: '0'
|
105
105
|
- !ruby/object:Gem::Dependency
|
106
|
-
name: rspec
|
106
|
+
name: rspec-rails
|
107
107
|
requirement: !ruby/object:Gem::Requirement
|
108
108
|
requirements:
|
109
109
|
- - ">="
|
@@ -164,14 +164,28 @@ dependencies:
|
|
164
164
|
requirements:
|
165
165
|
- - ">="
|
166
166
|
- !ruby/object:Gem::Version
|
167
|
-
version: 0
|
167
|
+
version: '0'
|
168
168
|
type: :runtime
|
169
169
|
prerelease: false
|
170
170
|
version_requirements: !ruby/object:Gem::Requirement
|
171
171
|
requirements:
|
172
172
|
- - ">="
|
173
173
|
- !ruby/object:Gem::Version
|
174
|
-
version: 0
|
174
|
+
version: '0'
|
175
|
+
- !ruby/object:Gem::Dependency
|
176
|
+
name: webdrivers
|
177
|
+
requirement: !ruby/object:Gem::Requirement
|
178
|
+
requirements:
|
179
|
+
- - ">="
|
180
|
+
- !ruby/object:Gem::Version
|
181
|
+
version: '0'
|
182
|
+
type: :runtime
|
183
|
+
prerelease: false
|
184
|
+
version_requirements: !ruby/object:Gem::Requirement
|
185
|
+
requirements:
|
186
|
+
- - ">="
|
187
|
+
- !ruby/object:Gem::Version
|
188
|
+
version: '0'
|
175
189
|
- !ruby/object:Gem::Dependency
|
176
190
|
name: bundler
|
177
191
|
requirement: !ruby/object:Gem::Requirement
|
@@ -187,33 +201,33 @@ dependencies:
|
|
187
201
|
- !ruby/object:Gem::Version
|
188
202
|
version: '0'
|
189
203
|
- !ruby/object:Gem::Dependency
|
190
|
-
name: hyper-
|
204
|
+
name: hyper-react
|
191
205
|
requirement: !ruby/object:Gem::Requirement
|
192
206
|
requirements:
|
193
207
|
- - '='
|
194
208
|
- !ruby/object:Gem::Version
|
195
|
-
version: 1.0.
|
209
|
+
version: 1.0.0.lap28
|
196
210
|
type: :development
|
197
211
|
prerelease: false
|
198
212
|
version_requirements: !ruby/object:Gem::Requirement
|
199
213
|
requirements:
|
200
214
|
- - '='
|
201
215
|
- !ruby/object:Gem::Version
|
202
|
-
version: 1.0.
|
216
|
+
version: 1.0.0.lap28
|
203
217
|
- !ruby/object:Gem::Dependency
|
204
218
|
name: mini_racer
|
205
219
|
requirement: !ruby/object:Gem::Requirement
|
206
220
|
requirements:
|
207
|
-
- - "
|
221
|
+
- - "~>"
|
208
222
|
- !ruby/object:Gem::Version
|
209
|
-
version:
|
223
|
+
version: 0.1.15
|
210
224
|
type: :development
|
211
225
|
prerelease: false
|
212
226
|
version_requirements: !ruby/object:Gem::Requirement
|
213
227
|
requirements:
|
214
|
-
- - "
|
228
|
+
- - "~>"
|
215
229
|
- !ruby/object:Gem::Version
|
216
|
-
version:
|
230
|
+
version: 0.1.15
|
217
231
|
- !ruby/object:Gem::Dependency
|
218
232
|
name: opal-browser
|
219
233
|
requirement: !ruby/object:Gem::Requirement
|
@@ -232,18 +246,18 @@ dependencies:
|
|
232
246
|
name: opal-rails
|
233
247
|
requirement: !ruby/object:Gem::Requirement
|
234
248
|
requirements:
|
235
|
-
- - "
|
249
|
+
- - "~>"
|
236
250
|
- !ruby/object:Gem::Version
|
237
251
|
version: 0.9.4
|
238
252
|
type: :development
|
239
253
|
prerelease: false
|
240
254
|
version_requirements: !ruby/object:Gem::Requirement
|
241
255
|
requirements:
|
242
|
-
- - "
|
256
|
+
- - "~>"
|
243
257
|
- !ruby/object:Gem::Version
|
244
258
|
version: 0.9.4
|
245
259
|
- !ruby/object:Gem::Dependency
|
246
|
-
name:
|
260
|
+
name: puma
|
247
261
|
requirement: !ruby/object:Gem::Requirement
|
248
262
|
requirements:
|
249
263
|
- - ">="
|
@@ -257,21 +271,21 @@ dependencies:
|
|
257
271
|
- !ruby/object:Gem::Version
|
258
272
|
version: '0'
|
259
273
|
- !ruby/object:Gem::Dependency
|
260
|
-
name:
|
274
|
+
name: rails
|
261
275
|
requirement: !ruby/object:Gem::Requirement
|
262
276
|
requirements:
|
263
277
|
- - ">="
|
264
278
|
- !ruby/object:Gem::Version
|
265
|
-
version:
|
279
|
+
version: 4.0.0
|
266
280
|
type: :development
|
267
281
|
prerelease: false
|
268
282
|
version_requirements: !ruby/object:Gem::Requirement
|
269
283
|
requirements:
|
270
284
|
- - ">="
|
271
285
|
- !ruby/object:Gem::Version
|
272
|
-
version:
|
286
|
+
version: 4.0.0
|
273
287
|
- !ruby/object:Gem::Dependency
|
274
|
-
name:
|
288
|
+
name: rake
|
275
289
|
requirement: !ruby/object:Gem::Requirement
|
276
290
|
requirements:
|
277
291
|
- - ">="
|
@@ -285,27 +299,7 @@ dependencies:
|
|
285
299
|
- !ruby/object:Gem::Version
|
286
300
|
version: '0'
|
287
301
|
- !ruby/object:Gem::Dependency
|
288
|
-
name:
|
289
|
-
requirement: !ruby/object:Gem::Requirement
|
290
|
-
requirements:
|
291
|
-
- - ">="
|
292
|
-
- !ruby/object:Gem::Version
|
293
|
-
version: 5.0.0
|
294
|
-
- - "<"
|
295
|
-
- !ruby/object:Gem::Version
|
296
|
-
version: '7.0'
|
297
|
-
type: :development
|
298
|
-
prerelease: false
|
299
|
-
version_requirements: !ruby/object:Gem::Requirement
|
300
|
-
requirements:
|
301
|
-
- - ">="
|
302
|
-
- !ruby/object:Gem::Version
|
303
|
-
version: 5.0.0
|
304
|
-
- - "<"
|
305
|
-
- !ruby/object:Gem::Version
|
306
|
-
version: '7.0'
|
307
|
-
- !ruby/object:Gem::Dependency
|
308
|
-
name: rake
|
302
|
+
name: pry-rescue
|
309
303
|
requirement: !ruby/object:Gem::Requirement
|
310
304
|
requirements:
|
311
305
|
- - ">="
|
@@ -338,20 +332,6 @@ dependencies:
|
|
338
332
|
- - "<"
|
339
333
|
- !ruby/object:Gem::Version
|
340
334
|
version: 2.5.0
|
341
|
-
- !ruby/object:Gem::Dependency
|
342
|
-
name: rspec-rails
|
343
|
-
requirement: !ruby/object:Gem::Requirement
|
344
|
-
requirements:
|
345
|
-
- - ">="
|
346
|
-
- !ruby/object:Gem::Version
|
347
|
-
version: '0'
|
348
|
-
type: :development
|
349
|
-
prerelease: false
|
350
|
-
version_requirements: !ruby/object:Gem::Requirement
|
351
|
-
requirements:
|
352
|
-
- - ">="
|
353
|
-
- !ruby/object:Gem::Version
|
354
|
-
version: '0'
|
355
335
|
- !ruby/object:Gem::Dependency
|
356
336
|
name: rspec-collection_matchers
|
357
337
|
requirement: !ruby/object:Gem::Requirement
|
@@ -426,16 +406,16 @@ dependencies:
|
|
426
406
|
name: rubocop
|
427
407
|
requirement: !ruby/object:Gem::Requirement
|
428
408
|
requirements:
|
429
|
-
- - "
|
409
|
+
- - "~>"
|
430
410
|
- !ruby/object:Gem::Version
|
431
|
-
version:
|
411
|
+
version: 0.51.0
|
432
412
|
type: :development
|
433
413
|
prerelease: false
|
434
414
|
version_requirements: !ruby/object:Gem::Requirement
|
435
415
|
requirements:
|
436
|
-
- - "
|
416
|
+
- - "~>"
|
437
417
|
- !ruby/object:Gem::Version
|
438
|
-
version:
|
418
|
+
version: 0.51.0
|
439
419
|
- !ruby/object:Gem::Dependency
|
440
420
|
name: shoulda
|
441
421
|
requirement: !ruby/object:Gem::Requirement
|
@@ -478,7 +458,7 @@ dependencies:
|
|
478
458
|
- - ">="
|
479
459
|
- !ruby/object:Gem::Version
|
480
460
|
version: '0'
|
481
|
-
description: A
|
461
|
+
description: A Hyperloop application consists of isomorphic React Components, Active
|
482
462
|
Record Models, Stores, Operations and Policiespec. Test them all from Rspec, regardless
|
483
463
|
if the code runs on the client or server.
|
484
464
|
email:
|
@@ -489,38 +469,32 @@ extensions: []
|
|
489
469
|
extra_rdoc_files: []
|
490
470
|
files:
|
491
471
|
- ".gitignore"
|
472
|
+
- ".rubocop.yml"
|
492
473
|
- ".travis.yml"
|
474
|
+
- CODE_OF_CONDUCT.md
|
493
475
|
- Gemfile
|
476
|
+
- LICENSE.txt
|
477
|
+
- README.md
|
494
478
|
- Rakefile
|
495
479
|
- bin/console
|
496
480
|
- bin/setup
|
481
|
+
- dciy.toml
|
497
482
|
- hyper-spec.gemspec
|
498
483
|
- lib/bin/firebug-2.0.13-fx.xpi
|
499
484
|
- lib/bin/firebug-2.0.19-fx.xpi
|
500
485
|
- lib/hyper-spec.rb
|
501
|
-
- lib/hyper-spec/
|
502
|
-
- lib/hyper-spec/
|
503
|
-
- lib/hyper-spec/helpers.rb
|
504
|
-
- lib/hyper-spec/internal/client_execution.rb
|
505
|
-
- lib/hyper-spec/internal/component_mount.rb
|
506
|
-
- lib/hyper-spec/internal/controller.rb
|
507
|
-
- lib/hyper-spec/internal/copy_locals.rb
|
508
|
-
- lib/hyper-spec/internal/patches.rb
|
509
|
-
- lib/hyper-spec/internal/rails_controller_helpers.rb
|
510
|
-
- lib/hyper-spec/internal/time_cop.rb
|
511
|
-
- lib/hyper-spec/internal/window_sizing.rb
|
512
|
-
- lib/hyper-spec/rack.rb
|
486
|
+
- lib/hyper-spec/component_test_helpers.rb
|
487
|
+
- lib/hyper-spec/time_cop.rb
|
513
488
|
- lib/hyper-spec/version.rb
|
514
489
|
- lib/hyper-spec/wait_for_ajax.rb
|
490
|
+
- lib/react/top_level_rails_component.rb
|
515
491
|
- lib/selenium/web_driver/firefox/profile.rb
|
516
492
|
- lib/sources/lolex.js
|
517
|
-
-
|
518
|
-
- multi_level_how_it_works.md
|
519
|
-
homepage: http://hyperstack.org
|
493
|
+
homepage: http://ruby-hyperloop.org
|
520
494
|
licenses:
|
521
495
|
- MIT
|
522
496
|
metadata: {}
|
523
|
-
post_install_message:
|
497
|
+
post_install_message:
|
524
498
|
rdoc_options: []
|
525
499
|
require_paths:
|
526
500
|
- lib
|
@@ -535,8 +509,9 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
535
509
|
- !ruby/object:Gem::Version
|
536
510
|
version: 1.3.1
|
537
511
|
requirements: []
|
538
|
-
|
539
|
-
|
512
|
+
rubyforge_project:
|
513
|
+
rubygems_version: 2.7.6
|
514
|
+
signing_key:
|
540
515
|
specification_version: 4
|
541
|
-
summary: Drive your
|
516
|
+
summary: Drive your Hyperloop client and server specs from RSpec and Capybara
|
542
517
|
test_files: []
|