class GuessWhoNoFuzzy::Scorer

Public Class Methods

new(token_array) click to toggle source
# File lib/guess_who_no_fuzzy/scorer.rb, line 15
def initialize(token_array)
  @token_array = token_array
end
score!(token_arrays) { |score, token_array| ... } click to toggle source
# File lib/guess_who_no_fuzzy/scorer.rb, line 3
def self.score!(token_arrays, &block)
  scores = []

  token_arrays.each do |token_array|
    scorer = Scorer.new(token_array)
    score = scorer.score!
    yield score, token_array
  end

  scores
end

Public Instance Methods

score!() click to toggle source
# File lib/guess_who_no_fuzzy/scorer.rb, line 19
def score!
  score = 0

  @token_array.each do |token|
    score += 1.0 if included_in_names?(token)
  end

  score /= @token_array.length
  score
end

Private Instance Methods

included_in_names?(token) click to toggle source
# File lib/guess_who_no_fuzzy/scorer.rb, line 32
def included_in_names?(token)
  names = NamesLoader.names_by_first_letter(token[0])
  names.include?(token)
end