Issue #8346 has been reported by alexeymuranov (Alexey Muranov). ---------------------------------------- Bug #8346: If a module is included, its public instance methods behave like module functions https://bugs.ruby-lang.org/issues/8346 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/