Class: ReactRB::Renderer
- Inherits:
-
Object
- Object
- ReactRB::Renderer
- Defined in:
- lib/react_rb/renderer.rb
Instance Method Summary collapse
-
#initialize(controller:, page:, render:, request:, response:, props:, html_attrs:, title: nil) ⇒ Renderer
constructor
A new instance of Renderer.
- #render ⇒ Object
Constructor Details
#initialize(controller:, page:, render:, request:, response:, props:, html_attrs:, title: nil) ⇒ Renderer
Returns a new instance of Renderer.
2 3 4 5 6 7 8 9 10 11 12 |
# File 'lib/react_rb/renderer.rb', line 2 def initialize(controller:, page:, render:, request:, response:, props:, html_attrs:, title: nil) @page = page @render = render @request = request @response = response @props = props || {} @html_attrs = html_attrs || {} controller.instance_variable_set("@pagetitle", title) if title.present? controller.instance_variable_set("@__react_page", true) end |
Instance Method Details
#render ⇒ Object
14 15 16 17 18 19 20 21 |
# File 'lib/react_rb/renderer.rb', line 14 def render @response.headers["Vary"] = "Accept" if @request.headers["X-React-Pack"] @render.call json: { props: @props, page: @page } else @render.call "react/page", locals: { page: @page, props: @props, html_attrs: { **@html_attrs, data: { page: @page } } } end end |