Очевидно, Net::HTTP.get_response
передал экземпляр Net::HTTPFound
как параметр http
во внутренний блок.Следовательно, оператор return
никогда не был достигнут, и ваш метод download_torrent
возвратил последний объект "в стеке", что является возвращаемым значением Net::HTTP.get_response
.
Если это описание немного расплывчато, вотболее короткий пример.С return true
part, метод do_it
вернет true
.Без него метод do_it
вернет объект, возвращенный do_that
.
def do_it
do_that {|param|
# return true;
}
end
У меня мало опыта с пакетом net/http
, вам, вероятно, придется читать документы и обрабатывать ответ Net::HTTPFound
вВаш оператор case
каким-то образом.
Лично для меня это всегда работало при получении содержимого веб-страницы: Net::HTTP.get(URI.parse(url))
.Проще без блока кода и просто возвращает содержимое в виде строки.