In article <p0623091cc111234e90db@[192.168.254.205]>,
Rich Morin  <rdm / cfcl.com> wrote:
>At 5:45 AM +0900 8/23/06, Phil Tomson wrote:
>> I guess I'd be inclined to do it like:
>>
>>   count_neighbors(:have_cats?)
>>
>> and not use method_missing for this.
>> method_missing is really quite nice,
>> but if you over-use it, it can be very
>> difficult to debug.
>
>Why do I believe this? :-)

Yes, it definitely can be difficult to debug programs which make heavy use 
of method_missing (even light use in some cases ;-)

>
>Anyway, it looks like you're suggesting that I
>ask the node to run the count_neighbors method,
>asking each of the neighbors to run :have_cats?
>

right.

>This is vaguely along the lines of one approach
>I've been considering, where I would send only
>method names, in some hierarchical arrangement,
>to be executed by the appropriate objects.
>
>If the methods don't have side effects, it could
>be a bit like functional programming.  Also, by
>restricting the availability of methods, I might
>be able to achieve a sort of "sandbox" effect.
>
>Speaking of which, is there a (reasonable) way to
>limit the methods that are available within, say,
>an eval?

Maybe playing with $SAFE ?

You might also want to look into _why's Sandbox.

Phil