Class: NerdQuiz::Scorecard

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

Constant Summary collapse

RIGHT =
:right
WRONG =
:wrong

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(possible = NerdQuiz::DEFAULT_NUMBER_OF_QUESTIONS) ⇒ Scorecard

Returns a new instance of Scorecard.



8
9
10
# File 'lib/nerd_quiz/scorecard.rb', line 8

def initialize(possible=NerdQuiz::DEFAULT_NUMBER_OF_QUESTIONS)
  @answers = [].fill(nil, 0, possible)
end

Instance Attribute Details

#answersObject (readonly)

Returns the value of attribute answers.



6
7
8
# File 'lib/nerd_quiz/scorecard.rb', line 6

def answers
  @answers
end

Instance Method Details

#incomplete?Boolean

Returns:

  • (Boolean)


16
17
18
# File 'lib/nerd_quiz/scorecard.rb', line 16

def incomplete?
  !next_question.nil?
end

#next_questionObject



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

def next_question
  @answers.index(nil)
end

#right_answer!Object



20
21
22
# File 'lib/nerd_quiz/scorecard.rb', line 20

def right_answer!
  update RIGHT
end

#scoreObject



28
29
30
# File 'lib/nerd_quiz/scorecard.rb', line 28

def score
  "#{correct}/#{total}"
end

#wrong_answer!Object



24
25
26
# File 'lib/nerd_quiz/scorecard.rb', line 24

def wrong_answer!
  update WRONG
end