Sha256: b9df93127e79d1f2069a7892facea3ae4e9d9ced11e8495c05e24c4a7c4b190e

Contents?: true

Size: 872 Bytes

Versions: 22

Compression:

Stored size: 872 Bytes

Contents

module PublicSuffix
  # Monkey Patch to include the match logic
  class Domain
    # For Sanity
    def ==(other)
      name == other.name
    end

    # TODO: better code for this method
    # rubocop:disable all
    def match(pattern)
      pattern = PublicSuffix.parse(pattern) unless pattern.is_a?(PublicSuffix::Domain)

      return name == pattern.name unless pattern.trd
      return false unless tld == pattern.tld && sld == pattern.sld

      pattern_trds = pattern.trd.split('.')
      domain_trds  = trd.split('.')

      case pattern_trds.first
      when '*'
        pattern_trds[1..pattern_trds.size] == domain_trds[1..domain_trds.size]
      when '**'
        pa = pattern_trds[1..pattern_trds.size]

        domain_trds[domain_trds.size - pa.size, pa.size] == pa
      else
        name == pattern.name
      end
    end
    # rubocop:enable all
  end
end

Version data entries

22 entries across 22 versions & 1 rubygems

Version Path
cms_scanner-0.0.32 lib/cms_scanner/public_suffix/domain.rb
cms_scanner-0.0.31 lib/cms_scanner/public_suffix/domain.rb
cms_scanner-0.0.30 lib/cms_scanner/public_suffix/domain.rb
cms_scanner-0.0.29 lib/cms_scanner/public_suffix/domain.rb
cms_scanner-0.0.28 lib/cms_scanner/public_suffix/domain.rb
cms_scanner-0.0.27 lib/cms_scanner/public_suffix/domain.rb
cms_scanner-0.0.26 lib/cms_scanner/public_suffix/domain.rb
cms_scanner-0.0.25 lib/cms_scanner/public_suffix/domain.rb
cms_scanner-0.0.24 lib/cms_scanner/public_suffix/domain.rb
cms_scanner-0.0.23 lib/cms_scanner/public_suffix/domain.rb
cms_scanner-0.0.22 lib/cms_scanner/public_suffix/domain.rb
cms_scanner-0.0.21 lib/cms_scanner/public_suffix/domain.rb
cms_scanner-0.0.20 lib/cms_scanner/public_suffix/domain.rb
cms_scanner-0.0.19 lib/cms_scanner/public_suffix/domain.rb
cms_scanner-0.0.18 lib/cms_scanner/public_suffix/domain.rb
cms_scanner-0.0.17 lib/cms_scanner/public_suffix/domain.rb
cms_scanner-0.0.16 lib/cms_scanner/public_suffix/domain.rb
cms_scanner-0.0.15 lib/cms_scanner/public_suffix/domain.rb
cms_scanner-0.0.14 lib/cms_scanner/public_suffix/domain.rb
cms_scanner-0.0.13 lib/cms_scanner/public_suffix/domain.rb