class Slices::Renderer
Public Class Methods
new(options = {})
click to toggle source
# File lib/slices/renderer.rb, line 5 def initialize(options = {}) options.assert_valid_keys(:controller, :current_page, :slices, :params) @controller = options[:controller] || SlicesController.new @current_page = options[:current_page] @slices = options[:slices] @params = options[:params] || {} end
Public Instance Methods
fragment_exist?(cache_key)
click to toggle source
# File lib/slices/renderer.rb, line 34 def fragment_exist?(cache_key) @controller.fragment_exist?(cache_key) end
render_container(container, slices = @slices)
click to toggle source
# File lib/slices/renderer.rb, line 26 def render_container(container, slices = @slices) render_slices slices.where(container: container) end
render_slices(slices = @slices)
click to toggle source
# File lib/slices/renderer.rb, line 14 def render_slices(slices = @slices) [].tap do |rendered| slices.each do |slice| benchmark "Prepared #{slice.reference}" do slice.setup(setup_options) slice.prepare(@params) end rendered << slice.render end end.join("\n").html_safe end
render_to_string(template, options)
click to toggle source
# File lib/slices/renderer.rb, line 30 def render_to_string(template, options) @controller.render_to_string(template, { layout: nil }.merge(options)) end
Private Instance Methods
logger()
click to toggle source
# File lib/slices/renderer.rb, line 47 def logger Rails.logger end
setup_options()
click to toggle source
# File lib/slices/renderer.rb, line 40 def setup_options { renderer: self, current_page: @current_page } end