module MessagesDictionaryЧто это значит? Это значит, что когда текущий модуль был добавлен (include) куда-то ещё, он подключает Injector туда же. Зачем? Чтобы можно было писать
def self.included(klass)
klass.include MessagesDictionary::Injector
end
end
include MessagesDictionaryа не
include MessagesDictionary::Injector😂 Ну, короче ведь. Обратите внимание, что и в Injector можно добавлять такой же хук
def self.included(klass)Вуаля, в классе появляются все нужные методы, как по волшебству.
klass.extend ClassMethods
klass.include InstanceMethods
klass.extend InstanceMethods
end
Пример тут https://github.com/bodrovis-learning/messages_dictionary/blob/master/lib/messages_dictionary/injector.rb