Вот метод удлинения
Это очень мало обрабатывает ошибки, но может помочь вам начать.
Вы можете обернуть удлинитель начальным спасательным блоком, который возвращает ноль, или попытаться повторить его позже. Не уверен, что вы пытаетесь построить, но надеюсь, что это поможет.
require 'uri'
require 'net/http'
def lengthen(url)
uri = URI(url)
Net::HTTP.new(uri.host, uri.port).get(uri.path).header['location']
end
irb(main):008:0> lengthen('http://bit.ly/l223ue')
=> "http://paper.li/CoyDavidsonCRE/1309121465"