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

From: usa@...
Date: 2014-09-03 04:42:57 UTC
List: ruby-core #64722
Issue #9875 has been updated by Usaku NAKAMURA.

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.

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

* 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: DONE, 2.1: DONE
----------------------------------------
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