class Codebreaker::Guess

Constants

HINT

Attributes

errors[R]
input[R]

Public Class Methods

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

Public Instance Methods

as_array_of_numbers() click to toggle source
# File lib/app/entities/guess.rb, line 21
def as_array_of_numbers
  @as_array_of_numbers ||= @input.chars.map(&:to_i)
end
hint?() click to toggle source
# File lib/app/entities/guess.rb, line 25
def hint?
  @input == HINT
end
validate() click to toggle source
# File lib/app/entities/guess.rb, line 14
def validate
  return if hint?

  @errors << I18n.t('invalid.include_error') unless check_numbers?(@input, valid_numbers)
  @errors << I18n.t('invalid.size_error') unless check_size?(@input, Game::CODE_SIZE)
end

Private Instance Methods

valid_numbers() click to toggle source
# File lib/app/entities/guess.rb, line 31
def valid_numbers
  Game::INCLUDE_IN_GAME_NUMBERS.map(&:to_s)
end