Class: RSpock::AST::ThenBlock

Inherits:
Block
  • Object
show all
Defined in:
lib/rspock/ast/then_block.rb

Instance Attribute Summary

Attributes inherited from Block

#node, #type

Instance Method Summary collapse

Methods inherited from Block

#<<, #node_container=, #node_container?, #range, #succession_error_msg, #unshift, #valid_successor?

Constructor Details

#initialize(node) ⇒ ThenBlock

Returns a new instance of ThenBlock.



9
10
11
# File 'lib/rspock/ast/then_block.rb', line 9

def initialize(node)
  super(:Then, node)
end

Instance Method Details

#childrenObject



17
18
19
20
# File 'lib/rspock/ast/then_block.rb', line 17

def children
  super.reject { |child| interaction_transformation.interaction_node?(child) }
    .map { |child| ComparisonToAssertionTransformation.new(:_test_index_, :_line_number_).run(child) }
end

#interactionsObject



22
23
24
25
# File 'lib/rspock/ast/then_block.rb', line 22

def interactions
  @children.select { |child| interaction_transformation.interaction_node?(child) }
    .map { |child| interaction_transformation.run(child) }
end

#successorsObject



13
14
15
# File 'lib/rspock/ast/then_block.rb', line 13

def successors
  @successors ||= [:Cleanup, :Where, :End].freeze
end