Robert Dober
5/6/2009 5:12:00 PM
On Wed, May 6, 2009 at 6:40 PM, Robert Klemme
<shortcutter@googlemail.com> wrote:
> On 05.05.2009 22:50, Raj Singh wrote:
>>
>> Anytime I see the delegate code usually there is an unless along with
>> it. The code might look like this.
>>
>> Object.instance_methods.each do |m|
>> =A0delegate m, :to =3D> :@model unless m =3D~ /^__/
>> end
>>
>>
>> I am thinking that __ is escaped so that one could called
>> object.__SEND__ and this call will not be sent to the delegate. Is that
>> the reason why __ is not delegated to the delegate or the actual
>> reasoning is something else?
>
> I think you're spot on. =A0There seems to be a convention that method who=
se
> names start with underscores are not really meant to be part of the regul=
ar
> public interface (such as "__send__").
So do I think :)
However, unless this is a somehow contrived example, I would love to
know more about the usecase for this.
Delegating all Object methods somehow puzzles me. Please do not get me
wrong, there might be a very good reason for this. But I am curious,
because whenever I did something like this I rather deleted the
methods, mixed in something or extended objects.
Maybe delegation was something I should have considered even in core
related metaprogramming.
Would you care to elaborate?
Thx in advance
Robert
--=20
Si tu veux construire un bateau ...
Ne rassemble pas des hommes pour aller chercher du bois, pr=E9parer des
outils, r=E9partir les t=E2ches, all=E9ger le travail=85 mais enseigne aux
gens la nostalgie de l=92infini de la mer.
If you want to build a ship, don=92t herd people together to collect
wood and don=92t assign them tasks and work, but rather teach them to
long for the endless immensity of the sea.
--
Antoine de Saint-Exup=E9ry