module ReactWebpackRails::ViewHelpers
Public Instance Methods
react_component(name, raw_props = {}, options = {})
click to toggle source
# File lib/react_webpack_rails/view_helpers.rb, line 23 def react_component(name, raw_props = {}, options = {}) props = raw_props.as_json props = Services::CamelizeKeys.call(props) if Rails.application.config.react.camelize_props if server_side(options.delete(:server_side)) result = NodeIntegrationRunner.new('react-component', props: props, name: name).run rwr_element('react-component', { props: props, name: name }, options) do result.html_safe end else rwr_element('react-component', { props: props, name: name }, options) end end
react_element(integration_name, payload = {}, html_options = {}, &block)
click to toggle source
# File lib/react_webpack_rails/view_helpers.rb, line 16 def react_element(integration_name, payload = {}, html_options = {}, &block) message = 'since v0.5.0: react_element is deprecated. Use rwr_element instead' ActiveSupport::Deprecation.warn message rwr_element(integration_name, payload, html_options, &block) end
react_router(name)
click to toggle source
# File lib/react_webpack_rails/view_helpers.rb, line 36 def react_router(name) deprecation_warning rwr_element('react-router', name: name) end
rwr_element(integration_name, payload = {}, html_options = {}, &block)
click to toggle source
# File lib/react_webpack_rails/view_helpers.rb, line 5 def rwr_element(integration_name, payload = {}, html_options = {}, &block) data = { integration_name: integration_name, payload: payload, rwr_element: true } html_options = html_options.merge(data: data) html_tag = html_options.delete(:tag) || :div content_tag(html_tag, '', html_options, &block) end
Private Instance Methods
deprecation_warning()
click to toggle source
# File lib/react_webpack_rails/view_helpers.rb, line 47 def deprecation_warning message = [ "\nDEPRECATION WARNING - since v0.3.0:", "current integration with react-router was extracted and moved to external plugin.", "Use https://github.com/netguru/rwr-react_router instead.\n\n", ] warn message.join("\n") end
server_side(server_side)
click to toggle source
# File lib/react_webpack_rails/view_helpers.rb, line 43 def server_side(server_side) server_side.nil? ? Rails.application.config.react.server_side : server_side end