Class: WordScramble::ScrambledWord::WordChecker

Inherits:
Object
  • Object
show all
Defined in:
lib/word_scramble/scrambled_word.rb

Instance Method Summary collapse

Constructor Details

#initialize(scrambled_word, word) ⇒ WordChecker

Returns a new instance of WordChecker.



14
15
16
17
18
19
20
21
22
23
24
25
# File 'lib/word_scramble/scrambled_word.rb', line 14

def initialize(scrambled_word, word)
  @scrambled_letters = scrambled_word.downcase.split('').sort.inject({}) do |frequency_hash, l|
    frequency_hash[l] ||= 0
    frequency_hash[l] += 1
    frequency_hash
  end
  @word_letters = word.downcase.split('').sort.inject({}) do |frequency_hash, l|
    frequency_hash[l] ||= 0
    frequency_hash[l] += 1
    frequency_hash
  end
end

Instance Method Details

#matches?Boolean Also known as: matches

Returns:

  • (Boolean)


27
28
29
30
31
32
33
# File 'lib/word_scramble/scrambled_word.rb', line 27

def matches?
  @word_letters.each do |letter, count|
    scrambled_count = @scrambled_letters[letter]
    return false if scrambled_count.nil? or scrambled_count < count
  end
  return true
end