| Module | Spec::Example::ModuleReopeningFix |
| In: |
lib/spec/example/module_reopening_fix.rb
|
When you reopen a module that is included in another module that is included in a class, the new material you define does not make it to the class. This fixes that.
module M1; end
module M2
def foo; "FOO"; end
end
class C
include M1
end
module M1
include M2
end
c = C.new
c.foo
NoMethodError: undefined method `foo' for #<C:0x5e89a4>
from (irb):12