In article <p06230914c110cc8d3bb9@[192.168.254.205]>,
Rich Morin  <rdm / cfcl.com> wrote:
>Ruby Graph Language (RGL) allows graphical structures
>to be modeled as collections of objects.  So, you can
>ask a node to iterate through its neighbors, etc.
>
>I've been toying with ways to extend this notion, using
>(say) method_missing.  Here's a hand-waving example,
>where "you" are assumed to be a Ruby object:
>
>  Let's say that I want to find out how many of your
>  neighbors have cats.  Although you don't know the
>  answer, you do know who your neighbors are.  They,
>  in turn, know whether they have cats.  So, I send
>  you the following message:
>
>    count_neighbors_with_cats
>
>  Having no method of this name, you hand it off to
>  method_missing for parsing and such.  As a result,
>  each of your neighbors is sent a message such as:
>
>    have_cats?
>
>  After they respond, you tally and return the results.
>
>Obviously, this could be done without method_missing.
>For example, I could send you a Ruby script to eval.
>Alternatively, I could send you a YAML (or whatever)
>description.  Each approach has its own flexibility,
>overhead, dangers, etc.
>
>Has anyone done anything like this?  I'd love to see
>pointers to related work, etc.


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.

Phil