class Flare::Url
Public Class Methods
host(string)
click to toggle source
Attempts to parse a string to get the `host` value from it. Typically this value is in the form of `google.com` or `inbox.google.com` with subdomains.
# File lib/flare/url.rb, line 32 def self.host(string) parsed(string)&.host end
is_valid?(url)
click to toggle source
Returns if a url is valid after being parsed.
# File lib/flare/url.rb, line 23 def self.is_valid?(url) %w(http https).include?(scheme(url)) end
new(url: "", query: {})
click to toggle source
# File lib/flare/url.rb, line 43 def initialize(url: "", query: {}) @url = url @query = query @addressable = self.class.parsed(url) @addressable.query_values = query end
parse_host(string)
click to toggle source
Uses PublicSuffix to lookup validated domain names.
# File lib/flare/url.rb, line 16 def self.parse_host(string) PublicSuffix.parse(host(string)) end
parsed(url)
click to toggle source
Base parse method which handles invalid uris.
# File lib/flare/url.rb, line 7 def self.parsed(url) Addressable::URI.heuristic_parse(url) rescue Addressable::URI::InvalidURIError => error nil end
scheme(url)
click to toggle source
Returns the scheme (http, https, ftp) for a url.
# File lib/flare/url.rb, line 39 def self.scheme(url) parsed(url)&.scheme end
Public Instance Methods
to_s()
click to toggle source
# File lib/flare/url.rb, line 51 def to_s @addressable.to_s end