class Object
Public Class Methods
camel_case_hash_keys(input) { |key, value| ... }
click to toggle source
# File lib/react/opal/top_level.rb, line 57 def self.camel_case_hash_keys(input) as_array = input.map do |key, value| new_value = block_given? ? yield(key, value) : value [lower_camelize(key), new_value] end Hash[as_array] end
expose_native_class(*args)
click to toggle source
# File lib/react/opal/top_level.rb, line 92 def self.expose_native_class(*args) args.each do |klass| `window[#{klass.to_s}] = #{React::ComponentFactory.native_component_class(klass)}` end end
find_dom_node(component)
click to toggle source
# File lib/react/opal/top_level.rb, line 98 def self.find_dom_node(component) `ReactDOM.findDOMNode(#{component})` end
is_valid_element(element)
click to toggle source
# File lib/react/opal/top_level.rb, line 76 def self.is_valid_element(element) `React.isValidElement(#{element})` end
lower_camelize(str)
click to toggle source
# File lib/react/opal/top_level.rb, line 52 def self.lower_camelize(str) camelized = str.camelize camelized[0].downcase + camelized[1..-1] end
process_value_link(arguments)
click to toggle source
# File lib/react/opal/top_level.rb, line 65 def self.process_value_link(arguments) arguments = arguments.call if arguments.is_a? Proc camel_case_hash_keys(arguments).to_n end
render(element, container)
click to toggle source
# File lib/react/opal/top_level.rb, line 70 def self.render(element, container) component = Native(`ReactDOM.render(#{element}, container, function(){#{yield if block_given?}})`) component.class.include(React::Component::API) component end
render_to_static_markup(element)
click to toggle source
# File lib/react/opal/top_level.rb, line 84 def self.render_to_static_markup(element) `ReactDOMServer.renderToStaticMarkup(#{element})` end
render_to_string(element)
click to toggle source
# File lib/react/opal/top_level.rb, line 80 def self.render_to_string(element) `ReactDOMServer.renderToString(#{element})` end
unmount_component_at_node(node)
click to toggle source
# File lib/react/opal/top_level.rb, line 88 def self.unmount_component_at_node(node) `ReactDOM.unmountComponentAtNode(node)` end