Why a module's singleton method is not visible in downstream eigenclasses where it gets mixed?
I understand the regular method lookup path i.e. class, superclass/module, all the way up to BasicObject . I thought it was true for singleton version of the chain also but doesn't seem the case when you mixin a module in the meta-chain. I'd appreciate if someone can explain why in the following example Automobile module's banner method is called instead of its singleton version when I have included this module in Vehicle's eigenclass. module Automobile def banner "I am a regular method of Automobile" end class << self def banner "I am a singleton method of Automobile" end end end class