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.



12
13
14
# File 'lib/validate.rb', line 12

def initialize(answer)
  @answer = answer
end

Instance Attribute Details

#answerObject (readonly)

Returns the value of attribute answer.



9
10
11
# File 'lib/validate.rb', line 9

def answer
  @answer
end

#guessObject (readonly)

Returns the value of attribute guess.



9
10
11
# File 'lib/validate.rb', line 9

def guess
  @guess
end

Instance Method Details

#correct?(user_guess) ⇒ Boolean

Returns:

  • (Boolean)


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

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

#letters?(guess) ⇒ Boolean

Returns:

  • (Boolean)


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

def letters?(guess)
  valid_letters = ['r', 'g', 'b', 'y']
  guess.chars.all? { |letter| valid_letters.include?(letter) }
end

#number_correct(guess) ⇒ Object



24
25
26
27
28
29
30
31
32
33
34
# File 'lib/validate.rb', line 24

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



16
17
18
19
20
21
22
# File 'lib/validate.rb', line 16

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)


45
46
47
# File 'lib/validate.rb', line 45

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