Sha256: acafe91acff11a162b041360177bb19de199b3aa93b29e1471eaf4f7fb17e8b9
Contents?: true
Size: 800 Bytes
Versions: 12
Compression:
Stored size: 800 Bytes
Contents
module Gluttonberg module Content require 'despamilator/filter' module DespamilatorFilter class Shouting < Despamilator::Filter def name 'Shouting' end def description 'Detects and scores shouting (all caps)' end def parse subject # strip HTML text = subject.text.gsub(/<\/?[^>]*>/, "") return if text.length < 20 uppercased = text.scan(/[A-Z][A-Z]+/).join.length lowercased = text.count(/[a-z]/) if uppercased > 0 subject.register_match!({ :score => (uppercased.to_f / (uppercased + lowercased)) * 0.5, :filter => self }) end end end end end #Content end #Gluttonberg
Version data entries
12 entries across 12 versions & 1 rubygems