class CodebreakerGem::Guess

Constants

ELEMENT_VALUE_RANGE
HINT

Attributes

errors[R]
guess_code[R]

Public Class Methods

new(guess_code) click to toggle source
Calls superclass method
# File lib/app/entities/guess.rb, line 11
def initialize(guess_code)
  super()
  @guess_code = guess_code
end

Public Instance Methods

hint?() click to toggle source
# File lib/app/entities/guess.rb, line 23
def hint?
  @guess_code == HINT
end
validate() click to toggle source
# File lib/app/entities/guess.rb, line 16
def validate
  return if hint?

  @errors << failing.secret_code_length unless check_length
  @errors << failing.secret_code_digits_range unless check_digits_range
end

Private Instance Methods

check_digits_range() click to toggle source
# File lib/app/entities/guess.rb, line 33
def check_digits_range
  @guess_code.each_char { |digit| break unless ELEMENT_VALUE_RANGE.include?(digit.to_i) }
end
check_length() click to toggle source
# File lib/app/entities/guess.rb, line 29
def check_length
  @guess_code.length == Game::SECRET_CODE_LENGTH
end