Class: Smartdown::Api::QuestionPage

Inherits:
Node
  • Object
show all
Defined in:
lib/smartdown/api/question_page.rb

Instance Attribute Summary

Attributes inherited from Node

#elements, #front_matter, #name, #title

Instance Method Summary collapse

Methods inherited from Node

#body, #devolved_body, #initialize, #next_nodes, #permitted_next_nodes

Constructor Details

This class inherits a constructor from Smartdown::Api::Node

Instance Method Details

#questionsObject



8
9
10
11
12
13
14
15
16
17
18
19
20
# File 'lib/smartdown/api/question_page.rb', line 8

def questions
  elements.slice_before do |element|
    element.is_a? Smartdown::Model::Element::MarkdownHeading
  end.map do |question_element_group|
    if question_element_group.find{|element| element.is_a? Smartdown::Model::Element::Question::MultipleChoice}
      Smartdown::Api::MultipleChoice.new(question_element_group)
    elsif question_element_group.find{|element| element.is_a? Smartdown::Model::Element::Question::Date}
      Smartdown::Api::DateQuestion.new(question_element_group)
    elsif question_element_group.find{|element| element.is_a? Smartdown::Model::Element::Question::Salary}
      Smartdown::Api::SalaryQuestion.new(question_element_group)
    end
  end
end