Here's an example of the method lookup process for a class method of Bignum.
Let's extend the Integer class with a new module, which includes the module in Integer's singleton class.
The method lookup process will try the singleton classes of Bignum and Integer, then module that extends Integer, then the singleton class of Numeric, followed by the class Class, the class Module, the class Object, and the module Kernel.