class Jackasset::UrlChecker
Attributes
uri[R]
url_string[R]
Public Class Methods
new(url:)
click to toggle source
# File lib/jackasset/url_checker.rb, line 7 def initialize(url:) @url_string = url end
Public Instance Methods
call()
click to toggle source
# File lib/jackasset/url_checker.rb, line 11 def call check_url end
Private Instance Methods
check_url()
click to toggle source
# File lib/jackasset/url_checker.rb, line 17 def check_url @uri = URI(URI.escape url_string) return invalid_uri_response unless valid_url? response = Net::HTTP.get_response uri response.uri ||= uri # sometimes the uri is not set response rescue Errno::ECONNREFUSED => e rescued_response('Connection refused', e.message) rescue Errno::EINVAL => e rescued_response('Invalid argument', e.message) rescue => e rescued_response(e.class.to_s, e.message) end
invalid_uri_response()
click to toggle source
# File lib/jackasset/url_checker.rb, line 31 def invalid_uri_response rescued_response('Invalid URL', 'URL must begin with http') end
rescued_response(code, message)
click to toggle source
# File lib/jackasset/url_checker.rb, line 35 def rescued_response(code, message) Jackasset::RecuedResponse.new( code: code, message: message, uri: uri ) end
valid_url?()
click to toggle source
# File lib/jackasset/url_checker.rb, line 43 def valid_url? uri.kind_of?(URI::HTTP) || uri.kind_of?(URI::HTTPS) end