Module: Roda::RodaPlugins::RenderEach::InstanceMethods
- Defined in:
- lib/roda/plugins/render_each.rb
Instance Method Summary collapse
-
#render_each(enum, template, opts = OPTS) ⇒ Object
For each value in enum, render the given template using the given opts.
Instance Method Details
#render_each(enum, template, opts = OPTS) ⇒ Object
For each value in enum, render the given template using the given opts. The template and options hash are passed to render
. Additional options supported:
- :local
-
The local variable to use for the current enum value inside the template. An explicit
nil
value does not set a local variable. If not set, uses the template name.
44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 |
# File 'lib/roda/plugins/render_each.rb', line 44 def render_each(enum, template, opts=OPTS) if as = opts.has_key?(:local) as = opts[:local] else as = template.to_s.to_sym end if as opts = opts.dup if locals = opts[:locals] locals = opts[:locals] = Hash[locals] else locals = opts[:locals] = {} end end enum.map do |v| locals[as] = v if as render_template(template, opts) end.join end |