Class: Slices::Renderer

Inherits:
Object
  • Object
show all
Includes:
ActiveSupport::Benchmarkable
Defined in:
lib/slices/renderer.rb

Instance Method Summary collapse

Constructor Details

#initialize(options = {}) ⇒ Renderer

Returns a new instance of Renderer.



5
6
7
8
9
10
11
12
# 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

Instance Method Details

#fragment_exist?(cache_key) ⇒ Boolean

Returns:

  • (Boolean)


34
35
36
# File 'lib/slices/renderer.rb', line 34

def fragment_exist?(cache_key)
  @controller.fragment_exist?(cache_key)
end

#render_container(container, slices = @slices) ⇒ Object



26
27
28
# File 'lib/slices/renderer.rb', line 26

def render_container(container, slices = @slices)
  render_slices slices.where(container: container)
end

#render_slices(slices = @slices) ⇒ Object



14
15
16
17
18
19
20
21
22
23
24
# 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(*args) ⇒ Object



30
31
32
# File 'lib/slices/renderer.rb', line 30

def render_to_string(*args)
  @controller.render_to_string(*args)
end