class PublicSuffix::Rule::Wildcard
Wildcard
represents a wildcard rule (e.g. *.co.uk).
Public Class Methods
Initializes a new rule from the content.
@param content [String] the content of the rule @param private [Boolean]
# File lib/public_suffix/rule.rb, line 223 def self.build(content, private: false) new(value: content.to_s[2..], private: private) end
Initializes a new rule.
@param value [String] @param length [Integer] @param private [Boolean]
Calls superclass method
PublicSuffix::Rule::Base::new
# File lib/public_suffix/rule.rb, line 232 def initialize(value:, length: nil, private: false) super length or @length += 1 # * counts as 1 end
Public Instance Methods
Decomposes the domain name according to rule properties.
@param domain [#to_s] The domain name to decompose @return [Array<String>] The array with [trd + sld, tld].
# File lib/public_suffix/rule.rb, line 248 def decompose(domain) suffix = ([".*?"] + parts).join('\.') matches = domain.to_s.match(/^(.*)\.(#{suffix})$/) matches ? matches[1..2] : [nil, nil] end
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 258 def parts @value.split(DOT) end
Gets the original rule definition.
@return [String] The rule definition.
# File lib/public_suffix/rule.rb, line 240 def rule value == "" ? STAR : STAR + DOT + value end