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.
445 446 447 |
# File 'lib/roda/plugins/render.rb', line 445 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.
430 431 432 433 434 435 436 437 438 439 440 441 |
# File 'lib/roda/plugins/render.rb', line 430 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.
458 459 460 461 462 463 464 465 466 |
# File 'lib/roda/plugins/render.rb', line 458 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
451 452 453 |
# File 'lib/roda/plugins/render.rb', line 451 def inline_template_block(content) Proc.new{content} end |
#render_opts ⇒ Object
Return the render options for this class.
469 470 471 |
# File 'lib/roda/plugins/render.rb', line 469 def render_opts opts[:render] end |