Gavin Sinclair [mailto:gsinclair / soyabean.com.au] wrote: > Elegant solutions are generally well > factored, rather than expanded all over the top level. One > should aim to keep like things together, and different things apart. > > There are two possible factorings. Have Object#methods > return a specialised object, thus: > > foo.methods.private > foo.methods.all > foo.methods.new > foo.methods.singleton > foo.methods[:new, :protected] # if you need combination > # etc. > > The other possible factoring is as above: > > foo.methods(:new) > foo.methods(:private) > foo.methods(:singleton, :private) > # etc. > > Aesthetically, I think I prefer the top one. But even the > second one is far preferable to the current state of Ruby, to my mind. > > In general, you dislike using symbolic arguments to tune a > method's behaviour. I like it, and consider it quite > consistent with the general practices of good programming. > +1 > Cheers, > Gavin kind regards -botp