class LB::Project::View
Base view
Attributes
site[R]
Public Class Methods
setup(view, layout = 'main')
click to toggle source
# File lib/lb/project/view.rb, line 9 def self.setup(view, layout = 'main') view.setting :paths, [LB::Project.template_path] view.setting :layout, layout end
Public Instance Methods
render(locals = {})
click to toggle source
# File lib/lb/project/view.rb, line 28 def render(locals = {}) render_with(site, self, locals) end
render_with(site, page, locals = {})
click to toggle source
# File lib/lb/project/view.rb, line 32 def render_with(site, page, locals = {}) call(with_context(site, page, locals)) end
view(name, overrides = {})
click to toggle source
# File lib/lb/project/view.rb, line 21 def view(name, overrides = {}) LB::Project::View.view_registry[name] .new .with(overrides.merge(site: site)) .render end
with(options)
click to toggle source
# File lib/lb/project/view.rb, line 16 def with(options) @site = options.fetch(:site, LB::Project.settings.site.new) self end
with_context(site, page, locals = {})
click to toggle source
# File lib/lb/project/view.rb, line 36 def with_context(site, page, locals = {}) { context: ::Struct.new(:site, :page).new(site, page), locals: locals } end