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.