[ruby-core:63528] [ruby-trunk - Bug #9875] [Closed] ERB#result documentation incorrect

From: nagachika00@...
Date: 2014-07-03 03:10:28 UTC
List: ruby-core #63528
Issue #9875 has been updated by Tomoyuki Chikanaga.

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.

----------------------------------------
Bug #9875: ERB#result documentation incorrect
https://bugs.ruby-lang.org/issues/9875#change-47576

* Author: Mark Lorenz
* Status: Closed
* Priority: Normal
* Assignee: Eric Hodel
* Category: doc
* Target version: 
* ruby -v: 2.1.1p76 and 1.9.3p484 verified
* Backport: 2.0.0: REQUIRED, 2.1: REQUIRED
----------------------------------------
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--------------------------------
0001-ERB-result-does-not-accept-a-proc.patch (2.27 KB)


-- 
https://bugs.ruby-lang.org/

In This Thread

Prev Next