Sha256: 6212c29d0db8ccd1d669da5a0eceb3416a7e074199364a70f3a1a2d9b93c05b0

Contents?: true

Size: 667 Bytes

Versions: 12

Compression:

Stored size: 667 Bytes

Contents

module Gluttonberg
  module Content
    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
  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/subject/text.rb
gluttonberg-core-3.0.1 lib/gluttonberg/content/despamilator/subject/text.rb
gluttonberg-core-3.0.0 lib/gluttonberg/content/despamilator/subject/text.rb
gluttonberg-core-2.6.4 lib/gluttonberg/content/despamilator/subject/text.rb
gluttonberg-core-2.6.3 lib/gluttonberg/content/despamilator/subject/text.rb
gluttonberg-core-2.6.2 lib/gluttonberg/content/despamilator/subject/text.rb
gluttonberg-core-2.6.1 lib/gluttonberg/content/despamilator/subject/text.rb
gluttonberg-core-2.6.0 lib/gluttonberg/content/despamilator/subject/text.rb
gluttonberg-core-2.5.9 lib/gluttonberg/content/despamilator/subject/text.rb
gluttonberg-core-2.5.8 lib/gluttonberg/content/despamilator/subject/text.rb
gluttonberg-core-2.5.7 lib/gluttonberg/content/despamilator/subject/text.rb
gluttonberg-core-2.5.6 lib/gluttonberg/content/despamilator/subject/text.rb