Bug #9875
closedERB#result documentation incorrect
Description
This issue duplicates: https://github.com/ruby/ruby/pull/619
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.
Files
Updated by nagachika (Tomoyuki Chikanaga) about 10 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 10 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 10 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.