From: "alexeymuranov (Alexey Muranov)" Date: 2013-04-29T21:56:05+09:00 Subject: [ruby-core:54691] [ruby-trunk - Bug #8346] If a module is included, its public instance methods behave like module functions Issue #8346 has been updated by alexeymuranov (Alexey Muranov). =begin Compare with: module M def self.f 0 end def f 1 end end include M M.f # => 0 =end ---------------------------------------- Bug #8346: If a module is included, its public instance methods behave like module functions https://bugs.ruby-lang.org/issues/8346#change-39037 Author: alexeymuranov (Alexey Muranov) Status: Open Priority: Normal Assignee: Category: core Target version: ruby -v: 2.0.0 Backport: 1.9.3: UNKNOWN, 2.0.0: UNKNOWN =begin This behavior is unexpected to me: module M def f 1 end end include M M.f # => 1 After including the module (({M})), the method (({f})) becomes an instance method of the module for no apparent reason. I would expect an error (instance method not found). =end -- http://bugs.ruby-lang.org/