Hi,

2010/12/2 Haase, Konstantin <Konstantin.Haase / student.hpi.uni-potsdam.de>:
> I think in general there are two rather distinct use case groups: Those w=
here I don't know and don't want to have to care about the internals of the=
 class that's being refined and those where I do and explicitly want to rea=
ch in deep to change a single internal (say in Rails I want to change how c=
lass names are mapped to files only in one initializer). If I don't have lo=
cal rebinding, I would still have to care about the original implementation=
 in order to figure out what methods are calling the method I want to chang=
e. In the Enumerable example I would have to override about every method, n=
ot only each, in order to change the behavior consistently.

I admit that local rebinding is useful in some cases.

However, Ruby already has dynamic way to extend classes such as monkey
patching and singleton methods, so I guess refinements should be more
(pseudo) static.

--=20
Shugo Maeda