Class: PublicSuffix::Rule::Exception
- Defined in:
- lib/public_suffix/rule.rb
Overview
Exception represents an exception rule (e.g. !parliament.uk).
Instance Attribute Summary
Attributes inherited from Base
Instance Method Summary collapse
-
#decompose(domain) ⇒ Array<String>
Decomposes the domain name according to rule properties.
-
#initialize(definition, private: false) ⇒ Exception
constructor
Initializes a new rule from
definition. -
#length ⇒ Integer
Gets the length of this rule for comparison, represented by the number of dot-separated parts in the rule.
-
#parts ⇒ Array<String>
dot-split rule value and returns all rule parts in the order they appear in the value.
-
#rule ⇒ String
Gets the original rule definition.
Methods inherited from Base
Constructor Details
#initialize(definition, private: false) ⇒ Exception
Initializes a new rule from definition.
The bang ! is removed from the value, as it’s common for each wildcard rule.
271 272 273 |
# File 'lib/public_suffix/rule.rb', line 271 def initialize(definition, private: false) super(definition.to_s[1..-1], private: private) end |
Instance Method Details
#decompose(domain) ⇒ Array<String>
Decomposes the domain name according to rule properties.
286 287 288 289 290 |
# File 'lib/public_suffix/rule.rb', line 286 def decompose(domain) suffix = parts.join('\.') matches = domain.to_s.match(/^(.*)\.(#{suffix})$/) matches ? matches[1..2] : [nil, nil] end |
#length ⇒ Integer
Gets the length of this rule for comparison, represented by the number of dot-separated parts in the rule.
309 310 311 |
# File 'lib/public_suffix/rule.rb', line 309 def length @length ||= parts.length end |
#parts ⇒ Array<String>
dot-split rule value and returns all rule parts in the order they appear in the value. The leftmost label is not considered a label.
See publicsuffix.org/format/: If the prevailing rule is a exception rule, modify it by removing the leftmost label.
301 302 303 |
# File 'lib/public_suffix/rule.rb', line 301 def parts @value.split(DOT)[1..-1] end |
#rule ⇒ String
Gets the original rule definition.
278 279 280 |
# File 'lib/public_suffix/rule.rb', line 278 def rule BANG + value end |