Bug #9875

ERB#result documentation incorrect

Added by soodesune (Mark Lorenz) about 6 years ago. Updated almost 6 years ago.

Target version:
ruby -v:
2.1.1p76 and 1.9.3p484 verified


This issue duplicates:

ERB#result does not accept a proc, the documentation says:

Executes the generated ERB code to produce a completed template, returning the results of that code.
(See ::new for details on how this process can be affected by safe_level.)
b accepts a Binding object which is used to set the context of code evaluation.

However, #result delegates to Kernel.eval, which says:

Evaluates the Ruby expression(s) in string. If binding is given, which
must be a Binding object...

When given a proc, #eval errors with:

ruby-2.1.1/lib/ruby/2.1.0/erb.rb:847:in `eval': wrong argument type proc (expected binding) (TypeError)

I verified on 2.1.1 and 1.9.3p484

Patch included.


0001-ERB-result-does-not-accept-a-proc.patch (2.27 KB) 0001-ERB-result-does-not-accept-a-proc.patch patch soodesune (Mark Lorenz), 05/29/2014 04:26 AM

Updated by nagachika (Tomoyuki Chikanaga) about 6 years ago

  • Status changed from Open to Closed
  • Backport changed from 2.0.0: UNKNOWN, 2.1: UNKNOWN to 2.0.0: REQUIRED, 2.1: REQUIRED

applied at r46241.

Updated by nagachika (Tomoyuki Chikanaga) almost 6 years ago

  • Backport changed from 2.0.0: REQUIRED, 2.1: REQUIRED to 2.0.0: REQUIRED, 2.1: DONE

Backported into ruby_2_1 branch at r47141.

Updated by usa (Usaku NAKAMURA) almost 6 years ago

  • Backport changed from 2.0.0: REQUIRED, 2.1: DONE to 2.0.0: DONE, 2.1: DONE

backported into ruby_2_0_0 at r47369.

Also available in: Atom PDF