Class: Amazon::WebServices::MTurk::QuestionGenerator
- Inherits:
-
Object
- Object
- Amazon::WebServices::MTurk::QuestionGenerator
- Defined in:
- lib/amazon/webservices/mturk/question_generator.rb
Constant Summary collapse
- PREAMBLE =
'<?xml version="1.0" encoding="UTF-8"?>'+"\n"+'<QuestionForm xmlns="http://mechanicalturk.amazonaws.com/AWSMechanicalTurkDataSchemas/2005-10-01/QuestionForm.xsd">'
- OVERVIEW =
'<Overview>%s</Overview>'
- QUESTION =
'<Question><QuestionIdentifier>%s</QuestionIdentifier><QuestionContent>%s</QuestionContent><AnswerSpecification>%s</AnswerSpecification></Question>'
- TAIL =
'</QuestionForm>'
Class Method Summary collapse
Instance Method Summary collapse
- #ask(*args) ⇒ Object
- #askBasic(text) ⇒ Object
-
#initialize(type = :Basic) ⇒ QuestionGenerator
constructor
A new instance of QuestionGenerator.
- #to_xml ⇒ Object
Constructor Details
#initialize(type = :Basic) ⇒ QuestionGenerator
Returns a new instance of QuestionGenerator.
18 19 20 21 22 |
# File 'lib/amazon/webservices/mturk/question_generator.rb', line 18 def initialize(type=:Basic) @overview = nil @questions = [] @type = type end |
Class Method Details
.build(type = :Basic) {|question| ... } ⇒ Object
12 13 14 15 16 |
# File 'lib/amazon/webservices/mturk/question_generator.rb', line 12 def self.build(type=:Basic) question = self.new(type) yield question return question.to_xml end |
Instance Method Details
#ask(*args) ⇒ Object
24 25 26 27 28 29 |
# File 'lib/amazon/webservices/mturk/question_generator.rb', line 24 def ask(*args) case @type when :Basic askBasic( args.join ) end end |
#askBasic(text) ⇒ Object
31 32 33 34 35 36 37 |
# File 'lib/amazon/webservices/mturk/question_generator.rb', line 31 def askBasic(text) id = "BasicQuestion#{@questions.size+1}" question = REXML::Element.new 'Text' question.text = text answerSpec = "<FreeTextAnswer/>" @questions << { :Id => id, :Question => question.to_s, :AnswerSpec => answerSpec } end |
#to_xml ⇒ Object
39 40 41 42 43 44 45 46 47 |
# File 'lib/amazon/webservices/mturk/question_generator.rb', line 39 def to_xml components = [PREAMBLE] components << OVERVIEW % @overview unless @overview.nil? for question in @questions components << QUESTION % [ question[:Id], question[:Question], question[:AnswerSpec] ] end components << [TAIL] return components.join end |