Module: PublicSuffix::Rule

Defined in:
lib/public_suffix/rule.rb

Overview

A Rule is a special object which holds a single definition of the Public Suffix List.

There are 3 types of ruleas, each one represented by a specific subclass within the PublicSuffix::Rule namespace.

To create a new Rule, use the #factory method.

PublicSuffix::Rule.factory("ar")
# => #<PublicSuffix::Rule::Normal>

Defined Under Namespace

Classes: Base, Exception, Normal, Wildcard

Constant Summary collapse

RULES =
{
  '*' => Wildcard,
  '!' => Exception
}

Class Method Summary collapse

Class Method Details

.factory(name) ⇒ PublicSuffix::Rule::*

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.

Examples:

Creates a Normal rule

PublicSuffix::Rule.factory("ar")
# => #<PublicSuffix::Rule::Normal>

Creates a Wildcard rule

PublicSuffix::Rule.factory("*.ar")
# => #<PublicSuffix::Rule::Wildcard>

Creates an Exception rule

PublicSuffix::Rule.factory("!congresodelalengua3.ar")
# => #<PublicSuffix::Rule::Exception>

Parameters:

  • name (String)

    The rule definition.

Returns:



380
381
382
# File 'lib/public_suffix/rule.rb', line 380

def self.factory(name)
  RULES[name.to_s[0,1]].new(name)
end