Sha256: f38452a3716ea044a1377ca8610e3a9ed1d6a42a85005317f9ebf1e278d61a07

Contents?: true

Size: 499 Bytes

Versions: 5

Compression:

Stored size: 499 Bytes

Contents

require 'uri'

class Despamilator
  class Subject
    class Text < String

      def initialize text
        super text
        freeze
      end

      def without_uris
        gsub(/\b(?:https?|mailto|ftp):.+?(\s|$)/i, '')
      end

      def words
        split(/\W+/)
      end

      def count pattern
        scan(pattern).flatten.compact.length
      end

      def remove_and_count! pattern
        count = count(pattern)
        gsub!(pattern, '')
        count
      end

    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
despamilator-2.1.4 lib/despamilator/subject/text.rb
despamilator-2.1.3 lib/despamilator/subject/text.rb
despamilator-2.1.2 lib/despamilator/subject/text.rb
despamilator-2.1.1 lib/despamilator/subject/text.rb
despamilator-2.1 lib/despamilator/subject/text.rb