Class: Validate
- Inherits:
-
Object
- Object
- Validate
- Defined in:
- lib/validate.rb
Instance Attribute Summary collapse
-
#answer ⇒ Object
readonly
Returns the value of attribute answer.
-
#guess ⇒ Object
readonly
Returns the value of attribute guess.
Instance Method Summary collapse
- #correct?(user_guess) ⇒ Boolean
-
#initialize(answer) ⇒ Validate
constructor
A new instance of Validate.
- #letters?(guess) ⇒ Boolean
- #number_correct(guess) ⇒ Object
- #position_check(guess) ⇒ Object
- #size?(guess) ⇒ Boolean
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
#answer ⇒ Object (readonly)
Returns the value of attribute answer.
9 10 11 |
# File 'lib/validate.rb', line 9 def answer @answer end |
#guess ⇒ Object (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
36 37 38 |
# File 'lib/validate.rb', line 36 def correct?(user_guess) user_guess == @answer end |
#letters?(guess) ⇒ 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
45 46 47 |
# File 'lib/validate.rb', line 45 def size?(guess) guess.length == 4 end |