Class: Smartdown::Api::State

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

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(current_node, previous_questionpage_smartdown_nodes, responses) ⇒ State

Returns a new instance of State.



9
10
11
12
13
# File 'lib/smartdown/api/state.rb', line 9

def initialize(current_node, previous_questionpage_smartdown_nodes, responses)
  @current_node = current_node
  @previous_questionpage_smartdown_nodes = previous_questionpage_smartdown_nodes
  @responses = responses
end

Instance Attribute Details

#current_nodeObject (readonly)

Returns the value of attribute current_node.



7
8
9
# File 'lib/smartdown/api/state.rb', line 7

def current_node
  @current_node
end

#responsesObject (readonly)

Returns the value of attribute responses.



7
8
9
# File 'lib/smartdown/api/state.rb', line 7

def responses
  @responses
end

Instance Method Details

#current_question_numberObject



29
30
31
# File 'lib/smartdown/api/state.rb', line 29

def current_question_number
  responses.count + 1
end

#finished?Boolean

Returns:

  • (Boolean)


19
20
21
# File 'lib/smartdown/api/state.rb', line 19

def finished?
  current_node.is_a? Smartdown::Api::Outcome
end

#previous_question_pages(responses) ⇒ Object



23
24
25
26
27
# File 'lib/smartdown/api/state.rb', line 23

def previous_question_pages(responses)
  previous_questionpage_smartdown_nodes.map do |smartdown_questionpage_node|
    Smartdown::Api::PreviousQuestionPage.new(smartdown_questionpage_node, responses)
  end
end

#started?Boolean

Returns:

  • (Boolean)


15
16
17
# File 'lib/smartdown/api/state.rb', line 15

def started?
  !current_node.is_a? Smartdown::Api::Coversheet
end