reactive-ruby 0.7.25 → 0.7.26
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/.travis.yml +3 -0
- data/Gemfile +3 -1
- data/Gemfile.lock +22 -17
- data/README.md +1 -1
- data/Rakefile +12 -5
- data/example/examples/Gemfile.lock +1 -1
- data/example/rails-tutorial/Gemfile +2 -3
- data/example/rails-tutorial/Gemfile.lock +22 -23
- data/example/sinatra-tutorial/Gemfile.lock +4 -4
- data/lib/generators/reactive_ruby/test_app/templates/views/components/hello_world.rb +11 -0
- data/lib/generators/reactive_ruby/test_app/templates/views/components/todo.rb +14 -0
- data/lib/generators/reactive_ruby/test_app/test_app_generator.rb +6 -2
- data/lib/reactive-ruby.rb +3 -5
- data/lib/reactive-ruby/component_loader.rb +42 -0
- data/lib/reactive-ruby/isomorphic_helpers.rb +44 -71
- data/lib/reactive-ruby/rails.rb +7 -0
- data/lib/reactive-ruby/rails/component_mount.rb +44 -0
- data/lib/reactive-ruby/rails/controller_helper.rb +13 -0
- data/lib/reactive-ruby/rails/railtie.rb +14 -0
- data/lib/reactive-ruby/server_rendering/contextual_renderer.rb +33 -0
- data/lib/reactive-ruby/version.rb +1 -1
- data/reactive-ruby.gemspec +1 -0
- data/spec/reactive-ruby/component_loader_spec.rb +58 -0
- data/spec/reactive-ruby/isomorphic_helpers_spec.rb +137 -0
- data/spec/{react/rails/view_helper_spec.rb → reactive-ruby/rails/component_mount_spec.rb} +15 -1
- data/spec/reactive-ruby/server_rendering/contextual_renderer_spec.rb +33 -0
- data/spec/spec_helper.rb +42 -19
- metadata +32 -5
- data/lib/rails-helpers/react_component.rb +0 -52
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: reactive-ruby
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.7.
|
4
|
+
version: 0.7.26
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- David Chang
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-10-
|
11
|
+
date: 2015-10-17 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: opal
|
@@ -94,6 +94,20 @@ dependencies:
|
|
94
94
|
- - ">="
|
95
95
|
- !ruby/object:Gem::Version
|
96
96
|
version: '0'
|
97
|
+
- !ruby/object:Gem::Dependency
|
98
|
+
name: timecop
|
99
|
+
requirement: !ruby/object:Gem::Requirement
|
100
|
+
requirements:
|
101
|
+
- - ">="
|
102
|
+
- !ruby/object:Gem::Version
|
103
|
+
version: '0'
|
104
|
+
type: :development
|
105
|
+
prerelease: false
|
106
|
+
version_requirements: !ruby/object:Gem::Requirement
|
107
|
+
requirements:
|
108
|
+
- - ">="
|
109
|
+
- !ruby/object:Gem::Version
|
110
|
+
version: '0'
|
97
111
|
- !ruby/object:Gem::Dependency
|
98
112
|
name: opal-rspec
|
99
113
|
requirement: !ruby/object:Gem::Requirement
|
@@ -251,21 +265,28 @@ files:
|
|
251
265
|
- lib/generators/reactive_ruby/test_app/templates/assets/javascripts/components.rb
|
252
266
|
- lib/generators/reactive_ruby/test_app/templates/boot.rb
|
253
267
|
- lib/generators/reactive_ruby/test_app/templates/script/rails
|
268
|
+
- lib/generators/reactive_ruby/test_app/templates/views/components/hello_world.rb
|
269
|
+
- lib/generators/reactive_ruby/test_app/templates/views/components/todo.rb
|
254
270
|
- lib/generators/reactive_ruby/test_app/test_app_generator.rb
|
255
|
-
- lib/rails-helpers/react_component.rb
|
256
271
|
- lib/rails-helpers/top_level_rails_component.rb
|
257
272
|
- lib/reactive-ruby.rb
|
258
273
|
- lib/reactive-ruby/api.rb
|
259
274
|
- lib/reactive-ruby/callbacks.rb
|
260
275
|
- lib/reactive-ruby/component.rb
|
276
|
+
- lib/reactive-ruby/component_loader.rb
|
261
277
|
- lib/reactive-ruby/element.rb
|
262
278
|
- lib/reactive-ruby/event.rb
|
263
279
|
- lib/reactive-ruby/ext/hash.rb
|
264
280
|
- lib/reactive-ruby/ext/string.rb
|
265
281
|
- lib/reactive-ruby/isomorphic_helpers.rb
|
266
282
|
- lib/reactive-ruby/observable.rb
|
283
|
+
- lib/reactive-ruby/rails.rb
|
284
|
+
- lib/reactive-ruby/rails/component_mount.rb
|
285
|
+
- lib/reactive-ruby/rails/controller_helper.rb
|
286
|
+
- lib/reactive-ruby/rails/railtie.rb
|
267
287
|
- lib/reactive-ruby/rendering_context.rb
|
268
288
|
- lib/reactive-ruby/serializers.rb
|
289
|
+
- lib/reactive-ruby/server_rendering/contextual_renderer.rb
|
269
290
|
- lib/reactive-ruby/state.rb
|
270
291
|
- lib/reactive-ruby/top_level.rb
|
271
292
|
- lib/reactive-ruby/validator.rb
|
@@ -287,7 +308,10 @@ files:
|
|
287
308
|
- opal-spec/validator_spec.rb
|
288
309
|
- reactive-ruby.gemspec
|
289
310
|
- spec/controller_helper_spec.rb
|
290
|
-
- spec/
|
311
|
+
- spec/reactive-ruby/component_loader_spec.rb
|
312
|
+
- spec/reactive-ruby/isomorphic_helpers_spec.rb
|
313
|
+
- spec/reactive-ruby/rails/component_mount_spec.rb
|
314
|
+
- spec/reactive-ruby/server_rendering/contextual_renderer_spec.rb
|
291
315
|
- spec/spec_helper.rb
|
292
316
|
homepage: https://github.com/zetachang/react.rb
|
293
317
|
licenses:
|
@@ -315,5 +339,8 @@ specification_version: 4
|
|
315
339
|
summary: Opal Ruby wrapper of React.js library.
|
316
340
|
test_files:
|
317
341
|
- spec/controller_helper_spec.rb
|
318
|
-
- spec/
|
342
|
+
- spec/reactive-ruby/component_loader_spec.rb
|
343
|
+
- spec/reactive-ruby/isomorphic_helpers_spec.rb
|
344
|
+
- spec/reactive-ruby/rails/component_mount_spec.rb
|
345
|
+
- spec/reactive-ruby/server_rendering/contextual_renderer_spec.rb
|
319
346
|
- spec/spec_helper.rb
|
@@ -1,52 +0,0 @@
|
|
1
|
-
begin
|
2
|
-
|
3
|
-
require 'action_controller'
|
4
|
-
require 'react-rails'
|
5
|
-
require 'reactive-ruby'
|
6
|
-
|
7
|
-
class ActionController::Base
|
8
|
-
|
9
|
-
def render_component(*args)
|
10
|
-
@component_name = ((args[0].is_a? Hash) || args.empty?) ? params[:action].camelize : args.shift
|
11
|
-
@render_params = (args[0].is_a? Hash) ? args[0] : {}
|
12
|
-
render inline: "<%= react_component @component_name, @render_params, { prerender: !params[:no_prerender] } %>", layout: 'application'
|
13
|
-
end
|
14
|
-
|
15
|
-
end
|
16
|
-
|
17
|
-
module React
|
18
|
-
|
19
|
-
class Railtie < ::Rails::Railtie
|
20
|
-
config.before_configuration do |app|
|
21
|
-
app.config.assets.enabled = true
|
22
|
-
app.config.assets.paths << ::Rails.root.join('app', 'views').to_s
|
23
|
-
end
|
24
|
-
end
|
25
|
-
|
26
|
-
module Rails
|
27
|
-
module ViewHelper
|
28
|
-
|
29
|
-
alias_method :pre_opal_react_component, :react_component
|
30
|
-
|
31
|
-
def react_component(name, props = {}, render_options={}, &block)
|
32
|
-
props = {render_params: props, component_name: name, controller: self.controller.class.name}
|
33
|
-
name = 'React.TopLevelRailsComponent'
|
34
|
-
if render_options[:prerender]
|
35
|
-
render_options[:prerender] = {render_options[:prerender] => true} unless render_options[:prerender].is_a? Hash
|
36
|
-
existing_context_initializer = render_options[:prerender][:context_initializer]
|
37
|
-
render_options[:prerender][:context_initializer] = lambda do |ctx|
|
38
|
-
React::IsomorphicHelpers.load_context(ctx, self.controller, props[:component_name])
|
39
|
-
existing_context_initializer.call ctx if existing_context_initializer
|
40
|
-
end
|
41
|
-
|
42
|
-
end
|
43
|
-
component_rendering = raw(pre_opal_react_component(name, props.react_serializer, render_options, &block))
|
44
|
-
footers = React::IsomorphicHelpers.prerender_footers #if render_options[:prerender]
|
45
|
-
component_rendering+footers
|
46
|
-
end
|
47
|
-
end
|
48
|
-
end
|
49
|
-
end
|
50
|
-
|
51
|
-
rescue LoadError
|
52
|
-
end
|