Method Lookup

Поиск метода в Ruby - это процесс, посредством которого интерпретатор находит правильный метод для выполнения при отправке сообщения (вызова метода) объекту. Этот поиск следует определенному линейному порядку по цепочке предков объекта.

Поиск выполняется в следующем порядке:

1) Singleton Methods - собственные специальные методы объекта (определенные непосредственно в этом экземпляре).

2) Prepended Modules - в модулях, добавленные с помощью prepend. Они имеют приоритет над самим классом.

3) The Current Class - в классе, экземпляром которого является объект.

4) Included Modules - в модулях, добавленных с помощью include.

5) The Inheritance Chain - в родительских классах (как пользовательские, так и встроенные по умолчанию, такие как Object), их включенные модули (PP::ObjectMixin, Kernel) и, наконец, корневой BasicObject.