Sha256: e51c5e2e897c1550e0c4e76eadb6fe58f608142851d6002d2d22241015b0241b

Contents?: true

Size: 829 Bytes

Versions: 12

Compression:

Stored size: 829 Bytes

Contents

module Gluttonberg
  module Content
    require 'despamilator/subject/text'

    class Despamilator
      class Subject
        attr_reader :score, :text

        def initialize text
          @score = 0.0
          @matches = {}
          @text = Despamilator::Subject::Text.new(text)
        end

        def register_match! details
          @score += details[:score] || raise('A score must be supplied')
          filter = details[:filter] || raise('A filter must be supplied')

          @matches[filter] ||= 0.0
          @matches[filter] += details[:score]
        end

        def matches
          @matches.map do |filter, score|
            {:filter => filter, :score => score}
          end.sort do |a, b|
            b[:score] <=> a[:score]
          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.rb
gluttonberg-core-3.0.1 lib/gluttonberg/content/despamilator/subject.rb
gluttonberg-core-3.0.0 lib/gluttonberg/content/despamilator/subject.rb
gluttonberg-core-2.6.4 lib/gluttonberg/content/despamilator/subject.rb
gluttonberg-core-2.6.3 lib/gluttonberg/content/despamilator/subject.rb
gluttonberg-core-2.6.2 lib/gluttonberg/content/despamilator/subject.rb
gluttonberg-core-2.6.1 lib/gluttonberg/content/despamilator/subject.rb
gluttonberg-core-2.6.0 lib/gluttonberg/content/despamilator/subject.rb
gluttonberg-core-2.5.9 lib/gluttonberg/content/despamilator/subject.rb
gluttonberg-core-2.5.8 lib/gluttonberg/content/despamilator/subject.rb
gluttonberg-core-2.5.7 lib/gluttonberg/content/despamilator/subject.rb
gluttonberg-core-2.5.6 lib/gluttonberg/content/despamilator/subject.rb