Module PublicSuffixService
In: lib/public_suffix_service.rb
lib/public_suffix_service/domain.rb
lib/public_suffix_service/errors.rb
lib/public_suffix_service/rule.rb
lib/public_suffix_service/rule_list.rb
lib/public_suffix_service/version.rb

Methods

parse   valid?  

Classes and Modules

Module PublicSuffixService::Version
Class PublicSuffixService::Domain
Class PublicSuffixService::DomainInvalid
Class PublicSuffixService::DomainNotAllowed
Class PublicSuffixService::Error
Class PublicSuffixService::Rule
Class PublicSuffixService::RuleList

Constants

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

@deprecated Use {PublicSuffixService::DomainInvalid}.

VERSION = Version::STRING

Public Class methods

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

Parsing uses the default {PublicSuffixService::RuleList}.

@param [String, to_s] domain

  The domain name or fully qualified domain name to parse.

@return [PublicSuffixService::Domain]

@example Parse a valid domain

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

@example Parse a valid subdomain

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

@example Parse a fully qualified domain

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

@example Parse a fully qualified domain (subdomain)

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

@example Parse an invalid domain

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

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

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

@raise [PublicSuffixService::Error]

  If domain is not a valid domain.

@raise [PublicSuffixService::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 {PublicSuffixService::RuleList}.

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

 @return [Boolean]

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

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

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

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

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

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

[Validate]