Sha256: b63d512806b62b260e262fdaa2c1b43579f8abcd36871027c5eb1db9a005796a

Contents?: true

Size: 760 Bytes

Versions: 12

Compression:

Stored size: 760 Bytes

Contents

module Gluttonberg
  module Content
    require 'despamilator/filter'
    require 'domainatrix'

    module DespamilatorFilter

      class VeryLongDomainName < Despamilator::Filter

        def name
          'Very Long Domain Name'
        end

        def description
          'Detects unusually long domain names.'
        end

        def parse subject
          subject.text.scan(URI.regexp).each do |url_parts|
            url_parts.compact!
            next if !url_parts[1] or url_parts[1] !~ /(\w|-){5,}\.\w{2,5}/
            url = Domainatrix.parse('http://' + url_parts[1])
            subject.register_match!({:score => 0.4, :filter => self}) if url.domain.length > 20
          end
        end

      end

    end
  end #Content
end #Gluttonberg

Version data entries

12 entries across 12 versions & 1 rubygems

Version Path
gluttonberg-core-3.0.2 lib/gluttonberg/content/despamilator/filter/very_long_domain_name.rb
gluttonberg-core-3.0.1 lib/gluttonberg/content/despamilator/filter/very_long_domain_name.rb
gluttonberg-core-3.0.0 lib/gluttonberg/content/despamilator/filter/very_long_domain_name.rb
gluttonberg-core-2.6.4 lib/gluttonberg/content/despamilator/filter/very_long_domain_name.rb
gluttonberg-core-2.6.3 lib/gluttonberg/content/despamilator/filter/very_long_domain_name.rb
gluttonberg-core-2.6.2 lib/gluttonberg/content/despamilator/filter/very_long_domain_name.rb
gluttonberg-core-2.6.1 lib/gluttonberg/content/despamilator/filter/very_long_domain_name.rb
gluttonberg-core-2.6.0 lib/gluttonberg/content/despamilator/filter/very_long_domain_name.rb
gluttonberg-core-2.5.9 lib/gluttonberg/content/despamilator/filter/very_long_domain_name.rb
gluttonberg-core-2.5.8 lib/gluttonberg/content/despamilator/filter/very_long_domain_name.rb
gluttonberg-core-2.5.7 lib/gluttonberg/content/despamilator/filter/very_long_domain_name.rb
gluttonberg-core-2.5.6 lib/gluttonberg/content/despamilator/filter/very_long_domain_name.rb