Метод get
определяется на line 484 of httparty/httparty.rb
def get(path, options = {}, &block)
perform_request Net::HTTP::Get, path, options, &block
end
Это определяется на модуле, называемом ClassMethods
. Если вы посмотрите дальше файл httparty/httparty.rb
. В строке 20 вы увидите:
def self.included(base)
base.extend ClassMethods
method included
вызывается, когда модуль входит в другой модуль или класса.
Этот код гарантирует, что когда модуль HTTParty
включен в другой модуль или класс, методы, определенные в HTTParty::ClassMethods
, расширены (добавлены как методы класса) на объект-хост. Они становятся классными методами.
модуль предоставляет методы одноуровневого класса, вот как вы получаете 'self.class.get', работающий –
** tl; dr ** - [' included' hook] (https://github.com/jnunemaker/httparty /blob/master/lib/httparty.rb#L19-L26). – ndn