Объект
не наследуется от ядра
, это последний суперкласс (в Ruby 1.8). Результат метода #ancestors
состоит из суперклассов и включенных модулей. В частности, в том порядке, в котором они просматриваются для каждого конкретного вызова.
Когда вы включаете модуль в класс, он становится частью его иерархии наследования. Таким образом, включение Kernel Object.ancestors будет включать (без каламбура) ядро. В версиях ruby <1.9 Object находится на вершине иерархии, поэтому у него нет суперкласса