class Guess

Class to model answers that are guesses

Attributes

errors[RW]
word_to_guess[R]

Public Class Methods

new(answer, word_to_guess) click to toggle source
Calls superclass method Answer::new
# File lib/guess.rb, line 10
def initialize(answer, word_to_guess)
  super(answer)
  @word_to_guess = word_to_guess.word
  valid?
end

Public Instance Methods

valid?() click to toggle source
# File lib/guess.rb, line 16
def valid?
  self.errors = []
  errors << 'Must be a letter' unless letter?
  errors << 'Must be a single letter or guessing the full word' unless single_letter? || full_word_guess?
  errors.empty?
end

Private Instance Methods

full_word_guess?() click to toggle source
# File lib/guess.rb, line 33
def full_word_guess?
  answer.size == word_to_guess.size
end
letter?() click to toggle source
# File lib/guess.rb, line 25
def letter?
  answer.match?(/[a-z]/)
end
single_letter?() click to toggle source
# File lib/guess.rb, line 29
def single_letter?
  answer.size == 1
end