Override-Modul-Methode von einem anderen Modul

Möchte ich überschreiben einer Methode aus einem Modul von einem anderen Modul B, die monkey-patch A.

http://codepad.org/LPMCuszt

module A
  def foo; puts 'A' end
end

module B
  def foo; puts 'B'; super; end
end

A.module_eval { include B } # why no override ???

class C
  include A
end

# must print 'A B', but only prints 'A' :(
C.new.foo
  • Dies war ein alias_method_chain Fall.
InformationsquelleAutor clyfe | 2011-02-04
Schreibe einen Kommentar