Class: TriviaFactory::UsStateCapitalsQuestion

Inherits:
Question
  • Object
show all
Defined in:
lib/trivia_factory/us_state_capitals_question.rb

Constant Summary

Constants inherited from Question

Question::ANSWER_TYPES, Question::QUESTION_TYPES

Instance Attribute Summary

Attributes inherited from Question

#answer, #answer_type, #choices, #label, #question_type

Class Method Summary collapse

Methods inherited from Question

academy_awards, capital_cities, company, fetch_csv, #initialize, math, question_types, random, sports, #to_h, us_state_capitals, vocabulary

Constructor Details

This class inherits a constructor from TriviaFactory::Question

Class Method Details

.generateObject



5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# File 'lib/trivia_factory/us_state_capitals_question.rb', line 5

def generate
  # File: us_state_capitals.csv
  # Column 1: state
  # Column 2: city
  # Format: "Which is the most appropriate definition of the word '[WORD]'?"
  data = fetch_csv('us_state_capitals')
  answer_row = data.sample
  question = TriviaFactory::Question.new
  question.label = "#{answer_row[1]} is the capital of what US state?"
  question.choices = [answer_row[0]]
  question.question_type = :multiple_choice
  question.answer_type = :choice_index
  3.times do
    question.choices << data.sample[0]
  end
  question.choices.shuffle!
  question.answer = question.choices.index(answer_row[0])
  question
end