module React::ServerRendering
Public Class Methods
render(component_name, props, prerender_options)
click to toggle source
Check a renderer out of the pool and use it to render the component. @param component_name [String] Component identifier, looked up by UJS @param props [String, Hash] Props for this component @param prerender_options [Hash] Renderer-specific options @return [String] Prerendered HTML from ‘component_name`
# File lib/react/server_rendering.rb, line 25 def self.render(component_name, props, prerender_options) @@pool.with do |renderer| renderer.render(component_name, props, prerender_options) end end
reset_pool()
click to toggle source
Discard the old ConnectionPool & create a new one. This will clear all state such as loaded code, JS VM state, or options. @return [void]
# File lib/react/server_rendering.rb, line 15 def self.reset_pool options = { size: pool_size, timeout: pool_timeout } @@pool = ConnectionPool.new(options) { self.renderer.new(self.renderer_options) } end
with_renderer() { |renderer| ... }
click to toggle source
Yield a renderer for an arbitrary block
# File lib/react/server_rendering.rb, line 32 def self.with_renderer @@pool.with { |renderer| yield(renderer) } end