I think the problem is in the expectations. Why would you expect that
two /executable runtime/ statements would not depend on the order in
which they are executed? Require is just another method.
I have to agree with James on this one. If I've written a library
that plays nicely and then somebody comes along and pulls the rug out
from under my feet, there's not much I can do about it. My code isn't
the one that is mucking things up. Besides, if I was suitable
paranoid I could check to make sure I'm not redefining a class and
steping on anybody elses feet:
fail %q{I don't like what's going on here!} if
Object.const_defined 'ProblemClass'
class ProblemClass
# ...
end
If I throw caution to the wind and stick my nose in other modules
buisness I deserve to get rapped.
--
Lou