From: "drbrain (Eric Hodel)" Date: 2013-11-15T09:23:46+09:00 Subject: [ruby-core:58345] [ruby-trunk - Feature #9112][Assigned] Make module lookup more dynamic (Including modules into a module after it has already been included) Issue #9112 has been updated by drbrain (Eric Hodel). Category set to core Status changed from Open to Assigned Assignee set to matz (Yukihiro Matsumoto) This would be a new feature. I believe this was requested and rejected back in the 1.8 days, but looking for the discussion is too difficult for me. If it was, maybe matz has changed his mind ---------------------------------------- Feature #9112: Make module lookup more dynamic (Including modules into a module after it has already been included) https://bugs.ruby-lang.org/issues/9112#change-42943 Author: PragTob (Tobias Pfeiffer) Status: Assigned Priority: Normal Assignee: matz (Yukihiro Matsumoto) Category: core Target version: If a module (M) is included into a class (C) and afterwards another module (M2) is included into the first module (M) then C does not include M2 and instances do not respond to methods defined in M2. I think instances of C should respond to methods defined in M2 and C should include M2. I created a gist detailing the problem I have: https://gist.github.com/PragTob/7472643 I think this behavior is confusing, because if I'd reopen module M and just add methods there then instances of C can call those methods. However if I include another module in M then instances of C can not call those methods. Any opinions on if this would be a better behavior or why it isn't? (was unsure to file it as a bug or feature) -- http://bugs.ruby-lang.org/