Class: Domainator

Inherits:
Object
  • Object
show all
Defined in:
lib/domainator.rb,
lib/domainator/version.rb

Defined Under Namespace

Classes: NotFoundError

Constant Summary collapse

VERSION =
'2.0.0'

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(extensions = self.class.default_extensions) ⇒ Domainator

Returns a new instance of Domainator.



10
11
12
# File 'lib/domainator.rb', line 10

def initialize(extensions = self.class.default_extensions)
  self.extensions = extensions
end

Instance Attribute Details

#extensionsObject

Returns the value of attribute extensions.



8
9
10
# File 'lib/domainator.rb', line 8

def extensions
  @extensions
end

Instance Method Details

#parse(uri) ⇒ Object

Raises:

  • (ArgumentError)


14
15
16
17
18
19
20
21
22
# File 'lib/domainator.rb', line 14

def parse(uri)
  uri = URI.parse(uri) if uri.is_a?(String)
  raise ArgumentError, '`uri` must be a String or URI' unless uri.is_a?(URI)
  raise ArgumentError, '`uri` must include a host' if uri.host.nil?

  domain = extract_domain(uri.host)
  raise NotFoundError, "no matching domain for \"#{uri}\"" if domain.nil?
  domain
end