Skip to content

Commit 9dce00b

Browse files
committed
moved rendering_context
1 parent 44cc1da commit 9dce00b

File tree

96 files changed

+47
-1785
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

96 files changed

+47
-1785
lines changed

ruby/hyper-component/Gemfile.lock

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,10 +37,12 @@ PATH
3737
specs:
3838
hyperstack-config (0.1)
3939
libv8 (~> 6.3.0)
40+
listen (~> 3.0)
4041
mini_racer (~> 0.1.15)
4142
opal (>= 0.11.0, < 0.12.0)
4243
opal-browser (~> 0.2.0)
4344
uglifier
45+
websocket
4446

4547
PATH
4648
remote: .
@@ -319,6 +321,7 @@ GEM
319321
nokogiri (~> 1.6)
320322
rubyzip (~> 1.0)
321323
selenium-webdriver (~> 3.0)
324+
websocket (1.2.8)
322325
websocket-driver (0.7.0)
323326
websocket-extensions (>= 0.1.0)
324327
websocket-extensions (0.1.3)

ruby/hyper-component/lib/hyper-component.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
require 'hyperstack/internal/component/should_component_update'
1818
require 'hyperstack/internal/component/tags'
1919
require 'hyperstack/component/event'
20-
require 'react/rendering_context'
20+
require 'hyperstack/internal/component/rendering_context'
2121
require 'hyperstack/ext/component/object'
2222
require 'hyperstack/ext/component/number'
2323
require 'hyperstack/ext/component/boolean'

ruby/hyper-component/lib/hyperstack/component.rb

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
require 'hyperstack/ext/component/hash'
33
require 'active_support/core_ext/class/attribute'
44
require 'hyperstack/internal/component/callbacks'
5-
require 'react/rendering_context'
5+
require 'hyperstack/internal/component/rendering_context'
66
require 'hyperstack/internal/component'
77
require 'hyperstack/internal/component/instance_methods'
88
require 'hyperstack/internal/component/class_methods'
@@ -128,7 +128,7 @@ def render
128128

129129
def _render_wrapper
130130
observing(rendering: true) do
131-
element = Internal::RenderingContext.render(nil) { render || '' }
131+
element = Hyperstack::Internal::Component::RenderingContext.render(nil) { render || '' }
132132
@waiting_on_resources =
133133
element.waiting_on_resources if element.respond_to? :waiting_on_resources
134134
element

ruby/hyper-component/lib/hyperstack/component/native_library.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ def method_missing(method, *args, &block)
5151
component_class ||= import_const_from_native(self, method, false)
5252
raise 'could not import a react component named: '\
5353
"#{scope_native_name method}" unless component_class
54-
Internal::RenderingContext.render(component_class, *args, &block)
54+
Hyperstack::Internal::Component::RenderingContext.render(component_class, *args, &block)
5555
end
5656

5757
private

ruby/hyper-component/lib/hyperstack/component/react_api.rb

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -114,7 +114,7 @@ def self.is_valid_element?(element)
114114
def self.render_to_string(element)
115115
%x{ console.error("Warning: `Hyperstack::Component::ReactAPI.render_to_string` is deprecated in favor of `React::Server.render_to_string`."); }
116116
if !(`typeof ReactDOMServer === 'undefined'`)
117-
Hyperstack::Component::Internal::RenderingContext.build { `ReactDOMServer.renderToString(#{element.to_n})` } # v0.15+
117+
Hyperstack::Internal::Component::RenderingContext.build { `ReactDOMServer.renderToString(#{element.to_n})` } # v0.15+
118118
else
119119
raise "renderToString is not defined. In React >= v15 you must import it with ReactDOMServer"
120120
end
@@ -123,7 +123,7 @@ def self.render_to_string(element)
123123
def self.render_to_static_markup(element)
124124
%x{ console.error("Warning: `Hyperstack::Component::ReactAPI.render_to_static_markup` is deprecated in favor of `React::Server.render_to_static_markup`."); }
125125
if !(`typeof ReactDOMServer === 'undefined'`)
126-
Hyperstack::Component::Internal::RenderingContext.build { `ReactDOMServer.renderToStaticMarkup(#{element.to_n})` } # v0.15+
126+
Hyperstack::Internal::Component::RenderingContext.build { `ReactDOMServer.renderToStaticMarkup(#{element.to_n})` } # v0.15+
127127
else
128128
raise "renderToStaticMarkup is not defined. In React >= v15 you must import it with ReactDOMServer"
129129
end

ruby/hyper-component/lib/hyperstack/component/server.rb

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,15 +3,15 @@ module Component
33
module Server
44
def self.render_to_string(element)
55
if !(`typeof ReactDOMServer === 'undefined'`)
6-
Hyperstack::Component::Internal::RenderingContext.build { `ReactDOMServer.renderToString(#{element.to_n})` } # v0.15+
6+
Hyperstack::Internal::Component::RenderingContext.build { `ReactDOMServer.renderToString(#{element.to_n})` } # v0.15+
77
else
88
raise "renderToString is not defined. In React >= v15 you must import it with ReactDOMServer"
99
end
1010
end
1111

1212
def self.render_to_static_markup(element)
1313
if !(`typeof ReactDOMServer === 'undefined'`)
14-
Hyperstack::Component::Internal::RenderingContext.build { `ReactDOMServer.renderToStaticMarkup(#{element.to_n})` } # v0.15+
14+
Hyperstack::Internal::Component::RenderingContext.build { `ReactDOMServer.renderToStaticMarkup(#{element.to_n})` } # v0.15+
1515
else
1616
raise "renderToStaticMarkup is not defined. In React >= v15 you must import it with ReactDOMServer"
1717
end

ruby/hyper-component/lib/hyperstack/internal/component/class_methods.rb

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ def render(container = nil, params = {}, &block)
2626
if container
2727
container = container.type if container.is_a? Hyperstack::Component::Element
2828
define_method :render do
29-
Hyperstack::Component::Internal::RenderingContext.render(container, params) { instance_eval(&block) if block }
29+
RenderingContext.render(container, params) { instance_eval(&block) if block }
3030
end
3131
else
3232
define_method(:render) { instance_eval(&block) }
@@ -46,7 +46,7 @@ def method_missing(name, *args, &children)
4646
# makes sure to autoimport the component. This is not needed here, as
4747
# we already have the class.
4848

49-
Hyperstack::Component::Internal::RenderingContext.render(
49+
RenderingContext.render(
5050
self, class: Hyperstack::Component::Element.haml_class_name(name), &children
5151
)
5252
end

ruby/hyper-component/lib/react/rendering_context.rb renamed to ruby/hyper-component/lib/hyperstack/internal/component/rendering_context.rb

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
module Hyperstack
2-
module Component
3-
module Internal
2+
module Internal
3+
module Component
44
class RenderingContext
55
class << self
66
attr_accessor :waiting_on_resources
@@ -17,21 +17,21 @@ def render(name, *args, &block)
1717
run_child_block(name.nil?, &block)
1818
if name
1919
buffer = @buffer.dup
20-
Hyperstack::Internal::Component::ReactWrapper.create_element(name, *args) { buffer }.tap do |element|
20+
ReactWrapper.create_element(name, *args) { buffer }.tap do |element|
2121
element.waiting_on_resources = saved_waiting_on_resources || !!buffer.detect { |e| e.waiting_on_resources if e.respond_to?(:waiting_on_resources) }
2222
element.waiting_on_resources ||= waiting_on_resources if buffer.last.is_a?(String)
2323
end
24-
elsif @buffer.last.is_a? Element
24+
elsif @buffer.last.is_a? Hyperstack::Component::Element
2525
@buffer.last.tap { |element| element.waiting_on_resources ||= saved_waiting_on_resources }
2626
else
2727
buffer_s = @buffer.last.to_s
2828
RenderingContext.render(:span) { buffer_s }.tap { |element| element.waiting_on_resources = saved_waiting_on_resources }
2929
end
3030
end
31-
elsif name.is_a? Element
31+
elsif name.is_a? Hyperstack::Component::Element
3232
element = name
3333
else
34-
element = Hyperstack::Internal::Component::ReactWrapper.create_element(name, *args)
34+
element = ReactWrapper.create_element(name, *args)
3535
element.waiting_on_resources = waiting_on_resources
3636
end
3737
@buffer << element
@@ -66,7 +66,7 @@ def replace(e1, e2)
6666
def remove_nodes_from_args(args)
6767
args[0].each do |key, value|
6868
begin
69-
value.delete if value.is_a?(Element) # deletes Element from buffer
69+
value.delete if value.is_a?(Hyperstack::Component::Element) # deletes Element from buffer
7070
rescue Exception
7171
end
7272
end if args[0] && args[0].is_a?(Hash)
@@ -99,7 +99,7 @@ def run_child_block(is_outer_scope)
9999
# be converted to spans INSIDE the parent, otherwise the waiting_on_resources
100100
# flag will get set in the wrong context
101101
RenderingContext.render(:span) { result.to_s }
102-
elsif result.is_a?(String) || (result.is_a?(Element) && @buffer.empty?)
102+
elsif result.is_a?(String) || (result.is_a?(Hyperstack::Component::Element) && @buffer.empty?)
103103
@buffer << result
104104
end
105105
raise_render_error(result) if is_outer_scope && @buffer != [result]
@@ -141,7 +141,7 @@ class Object
141141
# in the component.
142142
# If we fully deprecate lowercase tags, then this next line can go...
143143
return send(*args, &block) if respond_to?(:hyper_component?) && hyper_component?
144-
Hyperstack::Component::Internal::RenderingContext.render(*args) { to_s }
144+
Hyperstack::Internal::Component::RenderingContext.render(*args) { to_s }
145145
end
146146
end
147147

@@ -150,15 +150,15 @@ def para(*args, &block)
150150
args.unshift(:p)
151151
# see above comment
152152
return send(*args, &block) if respond_to?(:hyper_component?) && hyper_component?
153-
Hyperstack::Component::Internal::RenderingContext.render(*args) { to_s }
153+
Hyperstack::Internal::Component::RenderingContext.render(*args) { to_s }
154154
end
155155

156156
def br
157157
# see above comment
158158
return send(:br) if respond_to?(:hyper_component?) && hyper_component?
159-
Hyperstack::Component::Internal::RenderingContext.render(:span) do
160-
Hyperstack::Component::Internal::RenderingContext.render(to_s)
161-
Hyperstack::Component::Internal::RenderingContext.render(:br)
159+
Hyperstack::Internal::Component::RenderingContext.render(:span) do
160+
Hyperstack::Internal::Component::RenderingContext.render(to_s)
161+
Hyperstack::Internal::Component::RenderingContext.render(:br)
162162
end
163163
end
164164

ruby/hyper-component/lib/hyperstack/internal/component/tags.rb

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ module Tags
1717

1818
# the present method is retained as a legacy behavior
1919
# def present(component, *params, &children)
20-
# Hyperstack::Component::Internal::RenderingContext.render(component, *params, &children)
20+
# RenderingContext.render(component, *params, &children)
2121
# end
2222

2323
# define each predefined tag (upcase) as an instance method and a constant
@@ -26,7 +26,7 @@ module Tags
2626
HTML_TAGS.each do |tag|
2727

2828
define_method(tag.upcase) do |*params, &children|
29-
Hyperstack::Component::Internal::RenderingContext.render(tag, *params, &children)
29+
RenderingContext.render(tag, *params, &children)
3030
end
3131

3232
const_set tag.upcase, tag
@@ -35,7 +35,7 @@ module Tags
3535
if tag == 'p'
3636
define_method(tag) do |*params, &children|
3737
if children || params.count == 0 || (params.count == 1 && params.first.is_a?(Hash))
38-
Hyperstack::Component::Internal::RenderingContext.render(tag, *params, &children)
38+
RenderingContext.render(tag, *params, &children)
3939
else
4040
Kernel.p(*params)
4141
end
@@ -59,7 +59,7 @@ def self.html_tag_class_for(tag)
5959

6060
def method_missing(name, *params, &children)
6161
component = find_component(name)
62-
return Hyperstack::Component::Internal::RenderingContext.render(component, *params, &children) if component
62+
return RenderingContext.render(component, *params, &children) if component
6363
super
6464
end
6565

@@ -71,11 +71,11 @@ def included(component)
7171
name, parent = find_name_and_parent(component)
7272
tag_names_module = Module.new do
7373
define_method name do |*params, &children|
74-
Hyperstack::Component::Internal::RenderingContext.render(component, *params, &children)
74+
RenderingContext.render(component, *params, &children)
7575
end
7676
# handle deprecated _as_node style
7777
define_method "#{name}_as_node" do |*params, &children|
78-
Hyperstack::Component::Internal::RenderingContext.build_only(component, *params, &children)
78+
RenderingContext.build_only(component, *params, &children)
7979
end
8080
end
8181
parent.extend(tag_names_module)

ruby/hyper-component/lib/hyperstack/internal/component/top_level_rails_component.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@ def top_level_render
6060
end
6161
end
6262
end
63-
return Hyperstack::Component::Internal::RenderingContext.render(component, params.render_params) if component && component.method_defined?(:render)
63+
return RenderingContext.render(component, params.render_params) if component && component.method_defined?(:render)
6464
raise "Could not find component class '#{params.component_name}' for params.controller '#{params.controller}' in any component directory. Tried [#{paths_searched.join(", ")}]"
6565
end
6666
end

0 commit comments

Comments
 (0)