Module: Roda::RodaPlugins::Render::ClassMethods
- Defined in:
- lib/roda/plugins/render.rb
Instance Method Summary collapse
-
#create_template(opts, template_opts) ⇒ Object
Return an Tilt::Template object based on the given opts and template_opts.
-
#freeze ⇒ Object
If using compiled methods and there is an optimized layout, speed up access to the layout method to improve the performance of view.
-
#inherited(subclass) ⇒ Object
Copy the rendering options into the subclass, duping them as necessary to prevent changes in the subclass affecting the parent class.
-
#inline_template_block(content) ⇒ Object
A proc that returns content, used for inline templates, so that the template doesn’t hold a reference to the instance of the class.
-
#render_opts ⇒ Object
Return the render options for this class.
Instance Method Details
#create_template(opts, template_opts) ⇒ Object
Return an Tilt::Template object based on the given opts and template_opts.
539 540 541 |
# File 'lib/roda/plugins/render.rb', line 539 def create_template(opts, template_opts) opts[:template_class].new(opts[:path], 1, template_opts, &opts[:template_block]) end |
#freeze ⇒ Object
If using compiled methods and there is an optimized layout, speed up access to the layout method to improve the performance of view.
524 525 526 527 528 529 530 531 532 533 534 535 |
# File 'lib/roda/plugins/render.rb', line 524 def freeze begin _freeze_layout_method rescue # This is only for optimization, if any errors occur, they can be ignored. # One possibility for error is the app doesn't use a layout, but doesn't # specifically set the :layout=>false plugin option. nil end super end |
#inherited(subclass) ⇒ Object
Copy the rendering options into the subclass, duping them as necessary to prevent changes in the subclass affecting the parent class.
552 553 554 555 556 557 558 559 560 |
# File 'lib/roda/plugins/render.rb', line 552 def inherited(subclass) super opts = subclass.opts[:render] = subclass.opts[:render].dup if COMPILED_METHOD_SUPPORT opts[:template_method_cache] = (opts[:cache_class] || RodaCache).new end opts[:cache] = opts[:cache].dup opts.freeze end |
#inline_template_block(content) ⇒ Object
A proc that returns content, used for inline templates, so that the template doesn’t hold a reference to the instance of the class
545 546 547 |
# File 'lib/roda/plugins/render.rb', line 545 def inline_template_block(content) Proc.new{content} end |
#render_opts ⇒ Object
Return the render options for this class.
563 564 565 |
# File 'lib/roda/plugins/render.rb', line 563 def render_opts opts[:render] end |