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.
458 459 460 |
# File 'lib/roda/plugins/render.rb', line 458 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.
443 444 445 446 447 448 449 450 451 452 453 454 |
# File 'lib/roda/plugins/render.rb', line 443 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.
471 472 473 474 475 476 477 478 479 |
# File 'lib/roda/plugins/render.rb', line 471 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
464 465 466 |
# File 'lib/roda/plugins/render.rb', line 464 def inline_template_block(content) Proc.new{content} end |
#render_opts ⇒ Object
Return the render options for this class.
482 483 484 |
# File 'lib/roda/plugins/render.rb', line 482 def render_opts opts[:render] end |