Sha256: 52b70e6060ab084071615c132ebe3143d1cf3e722ab23275cb2ba1105b3b6518
Contents?: true
Size: 1.2 KB
Versions: 3
Compression:
Stored size: 1.2 KB
Contents
module Slices class Renderer include ActiveSupport::Benchmarkable 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 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 def render_container(container, slices = @slices) render_slices slices.where(container: container) end def render_to_string(template, options) @controller.render_to_string(template, { layout: nil }.merge(options)) end def fragment_exist?(cache_key) @controller.fragment_exist?(cache_key) end private def setup_options { renderer: self, current_page: @current_page } end def logger Rails.logger end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
slices-2.0.2 | lib/slices/renderer.rb |
slices-2.0.1 | lib/slices/renderer.rb |
slices-2.0.0 | lib/slices/renderer.rb |