module PublicSuffix::Rule
A Rule
is a special object which holds a single definition of the Public Suffix List
.
There are 3 types of rules, each one represented by a specific subclass within the PublicSuffix::Rule
namespace.
To create a new Rule
, use the {PublicSuffix::Rule#factory} method.
PublicSuffix::Rule.factory("ar") # => #<PublicSuffix::Rule::Normal>
Constants
- Entry
-
@api internal
Public Class Methods
The default rule to use if no rule match.
The default rule is “*”. From publicsuffix.org/list/:
> If no rules match, the prevailing rule is “*”.
@return [PublicSuffix::Rule::Wildcard] The default rule.
# File lib/public_suffix/rule.rb, line 344 def self.default factory(STAR) end
Takes the name
of the rule, detects the specific rule class and creates a new instance of that class. The name
becomes the rule value
.
@example Creates a Normal
rule
PublicSuffix::Rule.factory("ar") # => #<PublicSuffix::Rule::Normal>
@example Creates a Wildcard
rule
PublicSuffix::Rule.factory("*.ar") # => #<PublicSuffix::Rule::Wildcard>
@example Creates an Exception
rule
PublicSuffix::Rule.factory("!congresodelalengua3.ar") # => #<PublicSuffix::Rule::Exception>
@param content [#to_s] the content of the rule @return [PublicSuffix::Rule::*] A rule instance.
# File lib/public_suffix/rule.rb, line 326 def self.factory(content, private: false) case content.to_s[0, 1] when STAR Wildcard when BANG Exception else Normal end.build(content, private: private) end