Module PublicSuffix
In: lib/public_suffix.rb
lib/public_suffix/domain.rb
lib/public_suffix/errors.rb
lib/public_suffix/list.rb
lib/public_suffix/rule.rb
lib/public_suffix/rule_list.rb
lib/public_suffix/version.rb

Methods

parse   valid?  

Classes and Modules

Module PublicSuffix::Version
Class PublicSuffix::Domain
Class PublicSuffix::DomainInvalid
Class PublicSuffix::DomainNotAllowed
Class PublicSuffix::Error
Class PublicSuffix::List
Class PublicSuffix::Rule

Constants

NAME = "Public Suffix"
GEM = "public_suffix_service"
AUTHORS = ["Simone Carletti <weppos@weppos.net>"]
InvalidDomain = DomainInvalid   Backward Compatibility

@deprecated Use {PublicSuffix::DomainInvalid}.

RuleList = List
VERSION = Version::STRING

Public Class methods

Parses domain and returns the {PublicSuffix::Domain} instance.

Parsing uses the default {PublicSuffix::List}.

@param [String, to_s] domain

  The domain name or fully qualified domain name to parse.

@return [PublicSuffix::Domain]

@example Parse a valid domain

  PublicSuffix.parse("google.com")
  # => #<PublicSuffix::Domain ...>

@example Parse a valid subdomain

  PublicSuffix.parse("www.google.com")
  # => #<PublicSuffix::Domain ...>

@example Parse a fully qualified domain

  PublicSuffix.parse("google.com.")
  # => #<PublicSuffix::Domain ...>

@example Parse a fully qualified domain (subdomain)

  PublicSuffix.parse("www.google.com.")
  # => #<PublicSuffix::Domain ...>

@example Parse an invalid domain

  PublicSuffix.parse("x.yz")
  # => PublicSuffix::DomainInvalid

@example Parse an URL (not supported, only domains)

  PublicSuffix.parse("http://www.google.com")
  # => PublicSuffix::DomainInvalid

@raise [PublicSuffix::Error]

  If domain is not a valid domain.

@raise [PublicSuffix::DomainNotAllowed]

  If a rule for +domain+ is found, but the rule
  doesn't allow +domain+.
 Checks whether +domain+ is assigned and allowed,

 without actually parsing it.

 This method doesn't care whether domain is a domain or subdomain.
 The validation is performed using the default {PublicSuffix::List}.

 @param  [String, #to_s] domain
   The domain name or fully qualified domain name to validate.

 @return [Boolean]

 @example Validate a valid domain
   PublicSuffix.valid?("example.com")
   # => true

 @example Validate a valid subdomain
   PublicSuffix.valid?("www.example.com")
   # => true

 @example Validate a not-assigned domain
   PublicSuffix.valid?("example.zip")
   # => false

 @example Validate a not-allowed domain
   PublicSuffix.valid?("example.do")
   # => false
   PublicSuffix.valid?("www.example.do")
   # => true

 @example Validate a fully qualified domain
   PublicSuffix.valid?("google.com.")
   # => true
   PublicSuffix.valid?("www.google.com.")
   # => true

 @example Check an URL (which is not a valid domain)
   PublicSuffix.valid?("http://www.example.com")
   # => false

[Validate]