class Quiz

Clase gestora de un DSL

Attributes

count[RW]
exam[RW]
title[RW]

Public Class Methods

new(title, &block) click to toggle source

Crea una Instancia de la clase Quiz, a partir de un título y un bloque

# File lib/examen/quiz.rb, line 6
def initialize(title, &block)
  @title = title
  @exam = Exam.new(Pregunta.new(:text => "dummy", :right => "dummy", :distractors => ["dummy"]))
  @exam.list.pop
  @count = 0 
  instance_eval &block
end

Public Instance Methods

question(*args) click to toggle source

Actualiza el examen actual, con una nueva pregunta

# File lib/examen/quiz.rb, line 23
def question(*args)
  distract = Array.new
  args[1].keys.each { |x| distract << args[1][x] if x.class.equal? Array }
  exam << Pregunta.new(:text => args[0], :right => args[1][:right], :distractors => distract)
  exam
end
right() click to toggle source

Devuelve el Simbolo :right

# File lib/examen/quiz.rb, line 14
def right
  :right
end
to_s() click to toggle source

Definicion del Metodo #to_s, para la Clase Quiz

# File lib/examen/quiz.rb, line 30
def to_s
  "\s\s#{@title}\n#{'#' * (@title.size + 4)}\n\n#{@exam}"
end
wrong() click to toggle source

Devuelve un Array con el Simbolo :wrong y un indice

# File lib/examen/quiz.rb, line 18
def wrong
  @count += 1
  [:wrong, @count]
end