How to alias only one time, in an eval string.

T

trebor777

I'm using a software which use compressed ruby scripts... For that, the
software load the uncompressed data and eval it.
In this software, you have the ability to reset the execution, and basically
it eval again all the uncompressed data.

The thing is... when you alias some methods from specific classes defined by
the software and not by the compressed scripts, it cause a stack error, as
aliased method are then on the second time refering to themselves:

alias b a
def a
do somethin
b
end

1st time ok,
but at the second time , a use b which refer to a which use b, etc.. etc..
I'm trying to check if the aliased method exist or not, but doesn't work for
a stange reason...

The main problem is I don't have any access to those Specific classes, or do
stuff before the eval.
I've tried to modify the alias method, but off course, it creates the same
problem but with this method.

any solution?
 
A

ara.t.howard

alias b a
def a
do somethin
b
end

1st time ok,
but at the second time , a use b which refer to a which use b,
etc.. etc..
I'm trying to check if the aliased method exist or not, but doesn't
work for
a stange reason...

The main problem is I don't have any access to those Specific
classes, or do
stuff before the eval.
I've tried to modify the alias method, but off course, it creates
the same
problem but with this method.

any solution?

wrapped =
begin
method 'b'
true
rescue NameError
false
end

eval code unless wrapped


a @ http://codeforpeople.com/
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,769
Messages
2,569,581
Members
45,057
Latest member
KetoBeezACVGummies

Latest Threads

Top