Introducing the quiz gem
require 'quiz'
txt =<<EOF
Test quiz
question: What is the color of the common frog?
options:
option: blue
option: yellow
option: green
answer: green
------------------------------
question: What is 2 + 2?
options:
option: 5
option: 4
option: 3
answer: 4
------------------------------
question: What is Africa?
options:
option: region
option: continent
option: country
option: other
answer: continent
EOF
puts Quiz.new(txt).start
Here's the interactive ruby session output
What is the color of the common frog? is it ... a) green b) yellow c) blue b the answer was green What is 2 + 2? is it ... a) 3 b) 4 c) 5 b * correct * What is Africa? is it ... a) other b) country c) region d) continent c the answer was continent you scored 33%
The quiz gem accepts XML input either as a string, a local file, or URL. Here's the XML file layout I originally used:
<questions>
<q>
<question> What city is the capital of scotland? </question>
<options>
<option> Edinburgh </option>
<option> Glasgow </option>
<option> Aberdeen </option>
<option> Oban </option>
</options>
<answer> Edinburgh </answer>
</q>
<q>
<question> Who is the first minister of Scotland? </question>
<options>
<option> Henry McLeish </option>
<option> Simon Dunsmore </option>
<option> Alex Salmond </option>
<option> Kenny MacAskell </option>
</options>
<answer> Alex Salmond </answer>
</q>
<q>
<question> Who is the Cabinet Secretary for Justice in Scotland? </question>
<options>
<option> Henry McLeish </option>
<option> Simon Dunsmore </option>
<option> Alex Salmond </option>
<option> Kenny MacAskell </option>
</options>
<answer> Kenny MacAskell </answer>
</q>
<q>
<question> Who invented the televsion? </question>
<options>
<option> Philo Taylor Farnsworth </option>
<option> Thomas Edison </option>
<option> John Logie Baird </option>
<option> Alexander Graham Bell </option>
</options>
<answer> John Logie Baird </answer>
</q>
</questions>
Resources
- jrobertson/quiz https://github.com/jrobertson/quiz
quiz gem xml rowx