Я не могу найти место, где Active Resource инициирует свои соединения. Я ожидал, что Connection.request вызовет сетевую библиотеку, но вместо этого он просто вызывает ActiveSupport :: Notifications.instrument, который, похоже, является своего рода службой обмена сообщениями.
Кто-нибудь знает, как это работает? Я не смог найти код, который слушал сообщение. ActiveSupport :: Уведомления совершенно новые для меня, так что, возможно, есть очевидное место, где будет находиться слушатель.
def request(method, path, *arguments)
result = ActiveSupport::Notifications.instrument("request.active_resource") do |payload|
payload[:method] = method
payload[:request_uri] = "#{site.scheme}://#{site.host}:#{site.port}#{path}"
payload[:result] = http.send(method, path, *arguments)
end
Определение метода здесь на GitHub