Порядок выполнения callback-ов при наследовании
Хабы: RubyRuby — очень интересный язык. Одной из его особенностей является возможность выполнения заданных функций при добавлении модуля в класс. Стандартный пример выглядит следующим образом:
module MyModule
module InstanceMethods
end
module ClassMethods
end
def self.included(base)
base.include(InstanceMethods)
base.extend(ClassMethods)
end
end
Здесь создаются два под-модуля в рамках текущего модуля для разделения методов инстанса и методов класса. При «примешивании» модуля MyModule в класс выполняется функция included, которая добавляет необходимые методы класса и методы объектов класса.
Не так давно я открыл для себя еще одну подобную функцию, которая выполняется при наследовании Читать дальше →
Полный текст статьи читайте на Habrahabr.ru