From: Sean O'Halpin Date: 2013-08-04T21:24:16+09:00 Subject: Re: Retain scope when rewriting block source with instance_eval instance_eval by definition evaluates within the scope of the receiving instance. You don't need that here. You could just use eval with a binding: eval %(ary << 1; puts 'complete'), block.binding Regards, Sean On Sun, Aug 4, 2013 at 3:35 AM, bootstrap o. wrote: > success.rb works by using the block as is. self.instance_eval &block > https://gist.github.com/bootstraponline/6148819 > > I'm rewriting the block source code using ruby2ruby and then passing > that as a string to self.instance_eval. fail.rb contains the simple > failure case. The ary var is out of scope. > > Is there a way to retain the > original scope of the block? I want to pass a string to instance_eval > and eval it within the scope of the block. > > Thanks. > > -- > Posted via http://www.ruby-forum.com/. >