class Juggalo::Page
Attributes
components[R]
template[R]
Public Class Methods
new(layout, loader)
click to toggle source
# File lib/juggalo/page.rb, line 5 def initialize(layout, loader) @layout = layout @loader = loader end
Public Instance Methods
compile()
click to toggle source
# File lib/juggalo/page.rb, line 10 def compile @layout.regions = compose @layout.render end
Private Instance Methods
compose()
click to toggle source
# File lib/juggalo/page.rb, line 17 def compose @components ||= @loader.load @regions ||= @components.reduce({}) do |regions, component| regions.tap do |r| if r[component.location].nil? r[component.location] = [component] else r[component.location] << component end end end end