lib/roda/plugins/render_each.rb in roda-1.3.0 vs lib/roda/plugins/render_each.rb in roda-2.0.0

- old
+ new

@@ -21,10 +21,12 @@ # # Will render the +foo+ template, but the local variable used inside # the template will be +bar+. You can use <tt>:local=>nil</tt> to # not set a local variable inside the template. module RenderEach + OPTS = {}.freeze + # Load the render plugin before this plugin, since this plugin # calls the render method. def self.load_dependencies(app) app.plugin :render end @@ -34,11 +36,11 @@ # 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. - def render_each(enum, template, opts={}) + def render_each(enum, template, opts=OPTS) if as = opts.has_key?(:local) as = opts[:local] else as = template.to_s.to_sym end @@ -52,10 +54,10 @@ end end enum.map do |v| locals[as] = v if as - render(template, opts) + render_template(template, opts) end.join end end end