class PublicSuffix::Rule::Normal

Normal represents a standard rule (e.g. com).

Public Instance Methods

decompose(domain) click to toggle source

Decomposes the domain name according to rule properties.

@param [String, to_s] name The domain name to decompose @return [Array<String>] The array with [trd + sld, tld].

# File lib/public_suffix/rule.rb, line 189
def decompose(domain)
  suffix = parts.join('\.')
  matches = domain.to_s.match(/^(.*)\.(#{suffix})$/)
  matches ? matches[1..2] : [nil, nil]
end
length() click to toggle source

Gets the length of this rule for comparison, represented by the number of dot-separated parts in the rule.

@return [Integer] The length of the rule.

# File lib/public_suffix/rule.rb, line 207
def length
  @length ||= parts.length
end
parts() click to toggle source

dot-split rule value and returns all rule parts in the order they appear in the value.

@return [Array<String>]

# File lib/public_suffix/rule.rb, line 199
def parts
  @value.split(DOT)
end
rule() click to toggle source

Gets the original rule definition.

@return [String] The rule definition.

# File lib/public_suffix/rule.rb, line 181
def rule
  value
end