Sha256: 6d440417bff9a804a42815481fb33db83cf940eeed5571771f58d1886970ab0e
Contents?: true
Size: 1.09 KB
Versions: 12
Compression:
Stored size: 1.09 KB
Contents
module Gluttonberg module Content module DespamilatorFilter class ObfuscatedURLs < Despamilator::Filter def name 'Obfuscated URLs' end def description 'Finds lame attempts at obfuscating urls.' end def parse subject text = subject.text.without_uris.downcase count = find_space_separated_parts text count += find_space_separated_characters text # weird maths below is due to some issue with ruby 1.9.2 multiplying floats by 3 (?!) subject.register_match!({:score => (4.0 * count) / 10, :filter => self}) if count > 0 end private def find_space_separated_parts text text.count(/www\s+\w+\s+com/) end def find_space_separated_characters text count = 0 text.split(/[a-z][a-z]/).each do |candidate| candidate.strip! candidate.gsub!(/\s+/, '') count += 1 if candidate =~ /\w{5,}\.\w{2,3}/ end count end end end end #Content end #Gluttonberg
Version data entries
12 entries across 12 versions & 1 rubygems