class RMD::Zing::Utils::CorrectUrl

Attributes

url[R]

Public Class Methods

correct(url) click to toggle source
# File lib/rmd/zing/utils/correct_url.rb, line 19
def self.correct(url)
  new(url).correct
end
new(url) click to toggle source
# File lib/rmd/zing/utils/correct_url.rb, line 7
def initialize(url)
  @url = url
end

Public Instance Methods

correct() click to toggle source
# File lib/rmd/zing/utils/correct_url.rb, line 11
def correct
  if redirect_location
    URI.escape(redirect_location)
  else
    url
  end
end

Private Instance Methods

header_response() click to toggle source
# File lib/rmd/zing/utils/correct_url.rb, line 33
def header_response
  @header_response ||= http_client.head(uri.path)
end
http_client() click to toggle source
# File lib/rmd/zing/utils/correct_url.rb, line 29
def http_client
  @http_client ||= Net::HTTP.start(uri.host)
end
redirect_location() click to toggle source
# File lib/rmd/zing/utils/correct_url.rb, line 37
def redirect_location
  header_response['location']
end
uri() click to toggle source
# File lib/rmd/zing/utils/correct_url.rb, line 25
def uri
  @uri ||= URI.parse(url)
end