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. <lists / ruby-forum.com> 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/.
>