Class: WordleDecoder

Inherits:
Object
  • Object
show all
Defined in:
lib/wordle_decoder.rb,
lib/wordle_decoder/word.rb,
lib/wordle_decoder/guess.rb,
lib/wordle_decoder/version.rb,
lib/wordle_decoder/word_search.rb,
lib/wordle_decoder/wordle_share.rb,
lib/wordle_decoder/word_position.rb

Defined Under Namespace

Classes: Error, Guess, Word, WordPosition, WordSearch, WordleShare

Constant Summary collapse

VERSION =
"0.1.7"

Instance Method Summary collapse

Constructor Details

#initialize(wordle_share) ⇒ WordleDecoder

Returns a new instance of WordleDecoder.



13
14
15
# File 'lib/wordle_decoder.rb', line 13

def initialize(wordle_share)
  @wordle_share = wordle_share
end

Instance Method Details

#best_guessObject



17
18
19
# File 'lib/wordle_decoder.rb', line 17

def best_guess
  @best_guess ||= guesses.first
end

#guessesObject



21
22
23
# File 'lib/wordle_decoder.rb', line 21

def guesses
  @guesses ||= initialize_and_sort_guesses
end

#inspectObject



29
30
31
32
33
34
35
# File 'lib/wordle_decoder.rb', line 29

def inspect
  lines = ["<#{self.class.name} "]
  lines << @wordle_share.inspect
  lines.concat guesses.map(&:inspect)
  lines.last << ">"
  lines.join("\n")
end

#to_terminalObject



37
38
39
40
41
42
43
# File 'lib/wordle_decoder.rb', line 37

def to_terminal
  str = +"\n"
  best_guess.best_words_with_scores.reverse_each do |word, guess_score|
    str << "  #{word.to_terminal}        #{word.confidence_score(guess_score)}\n"
  end
  str << "  {{green:#{@wordle_share.answer}}}\n"
end

#word_positionsObject



25
26
27
# File 'lib/wordle_decoder.rb', line 25

def word_positions
  @word_positions ||= initialize_word_positions
end