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.
7 8 9 |
# File 'lib/validate.rb', line 7 def initialize(answer) @answer = answer end |
Instance Attribute Details
#answer ⇒ Object (readonly)
Returns the value of attribute answer.
4 5 6 |
# File 'lib/validate.rb', line 4 def answer @answer end |
#guess ⇒ Object (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
31 32 33 |
# File 'lib/validate.rb', line 31 def correct?(user_guess) user_guess == @answer end |
#letters?(guess) ⇒ 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
40 41 42 |
# File 'lib/validate.rb', line 40 def size?(guess) guess.length == 4 end |