module Roda::RodaPlugins::RenderEach

  1. lib/roda/plugins/render_each.rb

The render_each plugin allows you to render a template for each value in an enumerable, returning the concatention of all of the template renderings. For example:

render_each([1,2,3], :foo)

will render the foo template 3 times. Each time the template is rendered, the local variable foo will contain the given value (e.g. on the first rendering foo is 1).

You can pass additional render options via an options hash:

render_each([1,2,3], :foo, views: 'partials')

One additional option supported by is :local, which sets the local variable containing the current value to use. So:

render_each([1,2,3], :foo, local: :bar)

Will render the foo template, but the local variable used inside the template will be bar. You can use local: nil to not set a local variable inside the template. By default, the local variable name is based on the template name, with any directories and file extensions removed.


Public Class

  1. load_dependencies


ALLOWED_KEYS = [:locals, :local].freeze  

Public Class methods


Load the render plugin before this plugin, since this plugin calls the render method.

[show source]
   # File lib/roda/plugins/render_each.rb
35 def self.load_dependencies(app)
36   app.plugin :render
37 end