Class: LB::Project::View
- Inherits:
-
Dry::View::Controller
- Object
- Dry::View::Controller
- LB::Project::View
- Defined in:
- lib/lb/project/view.rb
Overview
Base view
Direct Known Subclasses
Instance Attribute Summary collapse
-
#site ⇒ Object
readonly
Returns the value of attribute site.
Class Method Summary collapse
Instance Method Summary collapse
- #render(locals = {}) ⇒ Object
- #render_with(site, page, locals = {}) ⇒ Object
- #view(name, overrides = {}) ⇒ Object
- #with(options) ⇒ Object
- #with_context(site, page, locals = {}) ⇒ Object
Instance Attribute Details
#site ⇒ Object (readonly)
Returns the value of attribute site.
14 15 16 |
# File 'lib/lb/project/view.rb', line 14 def site @site end |
Class Method Details
.setup(view, layout = 'main') ⇒ Object
9 10 11 12 |
# 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 |
Instance Method Details
#render(locals = {}) ⇒ Object
28 29 30 |
# File 'lib/lb/project/view.rb', line 28 def render(locals = {}) render_with(site, self, locals) end |
#render_with(site, page, locals = {}) ⇒ Object
32 33 34 |
# File 'lib/lb/project/view.rb', line 32 def render_with(site, page, locals = {}) call(with_context(site, page, locals)) end |
#view(name, overrides = {}) ⇒ Object
21 22 23 24 25 26 |
# 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) ⇒ Object
16 17 18 19 |
# File 'lib/lb/project/view.rb', line 16 def with() @site = .fetch(:site, LB::Project.settings.site.new) self end |
#with_context(site, page, locals = {}) ⇒ Object
36 37 38 39 40 41 |
# 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 |