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.
556 557 558 |
# File 'lib/roda/plugins/render.rb', line 556 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.
535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 |
# File 'lib/roda/plugins/render.rb', line 535 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 # Optimize _call_optimized_template_method if you know all templates # are going to be using fixed locals. if render_opts[:assume_fixed_locals] && !render_opts[:check_template_mtime] include AssumeFixedLocalsInstanceMethods 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.
569 570 571 572 573 574 575 576 577 |
# File 'lib/roda/plugins/render.rb', line 569 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
562 563 564 |
# File 'lib/roda/plugins/render.rb', line 562 def inline_template_block(content) Proc.new{content} end |
#render_opts ⇒ Object
Return the render options for this class.
580 581 582 |
# File 'lib/roda/plugins/render.rb', line 580 def render_opts opts[:render] end |