>     Above code is going to blow. Why? because request is a method
> defined by ActionPack.
>     What can we do to prevent this? or this guy is simply dumb and
> should stop programming?
No. Local variables have higher precedence than method invocation. The
code works as expected (i.e. 'request' is the local variable, not the
method call).

>   In my opinion, when unintended override of a method happens, Ruby
> should throw a warning. To silent that warning, one should explicitly
> say you are
>   overriding a method.
See the -w flag

[~]% cat test.rb
class WarningAlreadyExists
    def bla
    end
end


class WarningAlreadyExists
    def bla
    end
end

[~]% ruby -w test.rb
test.rb:10: warning: method redefined; discarding old bla
-- 
Sylvain