Module: Twingly::URL

Defined in:
lib/version.rb,
lib/twingly/url.rb,
lib/twingly/url/hasher.rb,
lib/twingly/url/utilities.rb,
lib/twingly/url/normalizer.rb

Defined Under Namespace

Modules: Hasher, Normalizer, Utilities Classes: UrlObject

Constant Summary collapse

VERSION =
'1.3.4'

Class Method Summary collapse

Class Method Details

.extract_url_and_domain(potential_url) ⇒ Object



23
24
25
26
27
28
29
30
# File 'lib/twingly/url.rb', line 23

def extract_url_and_domain(potential_url)
  url    = Addressable::URI.heuristic_parse(potential_url)
  domain = PublicSuffix.parse(url.host) if url

  [url, domain]
rescue PublicSuffix::DomainInvalid, Addressable::URI::InvalidURIError
  []
end

.parse(potential_url) ⇒ Object



18
19
20
21
# File 'lib/twingly/url.rb', line 18

def parse(potential_url)
  url, domain = extract_url_and_domain(potential_url)
  UrlObject.new(url, domain)
end

.validate(potential_url) ⇒ Object



32
33
34
# File 'lib/twingly/url.rb', line 32

def validate(potential_url)
  parse(potential_url).valid?
end