Class: WordGuesser::WordCollection

Inherits:
Object
  • Object
show all
Includes:
Enumerable
Defined in:
lib/word_guesser/word_collection.rb

Instance Method Summary collapse

Constructor Details

#initialize(base_word, words) ⇒ WordCollection

Returns a new instance of WordCollection.



5
6
7
8
# File 'lib/word_guesser/word_collection.rb', line 5

def initialize base_word, words
  @base_word = base_word
  @words = words
end

Instance Method Details

#eachObject



30
31
32
# File 'lib/word_guesser/word_collection.rb', line 30

def each
  @words.each {|word| yield word }
end

#guessed_letter_frequencyObject



10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
# File 'lib/word_guesser/word_collection.rb', line 10

def guessed_letter_frequency
  frequencies = {}
  original_letters = @base_word.tr('_', '')
  @words.each do |word|
    word.tr(original_letters, '').each_char do |char|
      if frequencies.has_key? char
        frequencies[char] += 1
      else
        frequencies[char] = 1
      end
    end
  end

  frequencies
end

#in_dictionaryObject



26
27
28
# File 'lib/word_guesser/word_collection.rb', line 26

def in_dictionary
  WordCollection.new(@base_word, @words & Dictionary.words)
end

#sizeObject



34
35
36
# File 'lib/word_guesser/word_collection.rb', line 34

def size
  @words.size
end

#to_sObject



38
39
40
# File 'lib/word_guesser/word_collection.rb', line 38

def to_s
  @words.to_a.join ', '
end