Class: Validate

Inherits:
Object
  • Object
show all
Defined in:
lib/validate.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(answer) ⇒ Validate

Returns a new instance of Validate.



7
8
9
# File 'lib/validate.rb', line 7

def initialize(answer)
  @answer = answer
end

Instance Attribute Details

#answerObject (readonly)

Returns the value of attribute answer.



4
5
6
# File 'lib/validate.rb', line 4

def answer
  @answer
end

#guessObject (readonly)

Returns the value of attribute guess.



4
5
6
# File 'lib/validate.rb', line 4

def guess
  @guess
end

Instance Method Details

#correct?(user_guess) ⇒ Boolean

Returns:

  • (Boolean)


31
32
33
# File 'lib/validate.rb', line 31

def correct?(user_guess)
  user_guess == @answer
end

#letters?(guess) ⇒ Boolean

Returns:

  • (Boolean)


35
36
37
38
# File 'lib/validate.rb', line 35

def letters?(guess)
  valid_letters = %w(r g b y)
  guess.chars.all? { |letter| valid_letters.include?(letter) }
end

#number_correct(guess) ⇒ Object



19
20
21
22
23
24
25
26
27
28
29
# File 'lib/validate.rb', line 19

def number_correct(guess)
  number_correct = 0
  new_answer = @answer
  new_answer.each do |letter|
    if guess.include?(letter)
      guess.delete_at(guess.index(letter))
      number_correct += 1
    end
  end
  number_correct
end

#position_check(guess) ⇒ Object



11
12
13
14
15
16
17
# File 'lib/validate.rb', line 11

def position_check(guess)
  difference = 0
  4.times do |index|
    difference += 1 if guess[index] == @answer[index]
  end
  difference
end

#size?(guess) ⇒ Boolean

Returns:

  • (Boolean)


40
41
42
# File 'lib/validate.rb', line 40

def size?(guess)
  guess.length == 4
end