class URLCanonicalize::URI
Manage the URL into a URI
with local exception handling
Constants
- COLON
- VALID_CLASSES
Public Class Methods
parse(url)
click to toggle source
# File lib/url_canonicalize/uri.rb, line 7 def parse(url) uri = ::URI.parse decorate(url) uri if valid? uri rescue ::URI::InvalidURIError => e new_exception = URLCanonicalize::Exception::URI.new("#{e.class}: #{e.message}") new_exception.set_backtrace e.backtrace raise new_exception end
Private Class Methods
decorate(url)
click to toggle source
# File lib/url_canonicalize/uri.rb, line 24 def decorate(url) return url if url.include? COLON "http://#{url}" # Add protocol if we just receive a host name end
valid?(uri)
click to toggle source
# File lib/url_canonicalize/uri.rb, line 18 def valid?(uri) raise URLCanonicalize::Exception::URI, "#{uri} must be http or https" unless VALID_CLASSES.include?(uri.class) raise URLCanonicalize::Exception::URI, "Missing host name in #{uri}" unless uri.host true end