Я считаю, что это всего лишь метод. Это то, что я сделал в irb.
> require 'pry'
> module A
> def self.included klass
> puts "included"
> end
> end
> class B
> binding.pry
> include A
> end
, когда он вступит в Поддеть, я просто вижу это
pry(B)> self.method(:include)
=> #<Method: Class(Module)#include>
, так что я думаю, что включают в себя способ, и угадайте включен метод вызывается, когда включают делается. Извините за это, я не вижу в этом ничего очевидного. Возможно, придется читать исходный код рубинового, потому что я прошу source_location, но получил ноль
pry(B)> self.method(:include).source_location
=> nil
Я думаю ActiveSupport :: Концерна используется для решения проблемы зависимостей
Что именно неясные вам? –
как класс передается модулю? wath делает «включенный» метод? –
Вероятно, [это] (http://stackoverflow.com/questions/151505/difference-between-a-class-and-a-module) ссылка может помочь. – Saubar