>>>>> "H" == HarryO  <harryo / zipworld.com.au> writes:

H> Can you explain why just putting the "alias original open" inside the
H> "class File ... end" doesn't have the desired effect?  I would have
H> thought that anything within that scope would be effectively the same as
H> putting it inside "class << self ... end".

 Well, when you write

   class A
      def tt
      end
   end

 you are defining a method.

 If you want to define a *class* method you write

   class A
      class << self
         def tt
         end
      end
      # or
      def A.tt
      end
   end

 This is the same for alias, if you write

    class A
       def tt
       end
       alias :uu :tt
    end

 you're aliasing the object method, not the *class* method



Guy Decoux