Class: Cucumber::Ast::OutlineTable

Inherits:
Table show all
Defined in:
lib/cucumber/ast/outline_table.rb

Defined Under Namespace

Classes: ExampleRow

Constant Summary

Constants inherited from Table

Table::NULL_CONVERSIONS

Instance Attribute Summary

Attributes inherited from Table

#file

Instance Method Summary collapse

Methods inherited from Table

#arguments_replaced, #cells_rows, default_arg_name, #dup, #each_cells_row, #has_text?, #hashes, #header_cell, #headers, #index, #map_column!, #map_headers, #raw, #rows, #rows_hash, #to_hash, #to_sexp, #transpose, #verify_column, #verify_table_width

Constructor Details

#initialize(raw, scenario_outline) ⇒ OutlineTable

Returns a new instance of OutlineTable.



4
5
6
7
8
9
# File 'lib/cucumber/ast/outline_table.rb', line 4

def initialize(raw, scenario_outline)
  super(raw)
  @scenario_outline = scenario_outline
  @cells_class = ExampleRow
  create_step_invocations_for_example_rows!(scenario_outline)
end

Instance Method Details

#accept(visitor) ⇒ Object



11
12
13
14
15
16
17
18
19
20
# File 'lib/cucumber/ast/outline_table.rb', line 11

def accept(visitor)
  cells_rows.each_with_index do |row, n|
    if(visitor.options[:expand])
      row.accept(visitor)
    else
      visitor.visit_table_row(row)
    end
  end
  nil
end

#accept_hook?(hook) ⇒ Boolean

Returns:

  • (Boolean)


22
23
24
# File 'lib/cucumber/ast/outline_table.rb', line 22

def accept_hook?(hook)
  @scenario_outline.accept_hook?(hook)
end

#create_step_invocations_for_example_rows!(scenario_outline) ⇒ Object



32
33
34
35
36
# File 'lib/cucumber/ast/outline_table.rb', line 32

def create_step_invocations_for_example_rows!(scenario_outline)
  example_rows.each do |cells|
    cells.create_step_invocations!(scenario_outline)
  end
end

#example_rowsObject



38
39
40
# File 'lib/cucumber/ast/outline_table.rb', line 38

def example_rows
  cells_rows[1..-1]
end

#skip_invoke!Object



26
27
28
29
30
# File 'lib/cucumber/ast/outline_table.rb', line 26

def skip_invoke!
  example_rows.each do |cells|
    cells.skip_invoke!
  end
end

#visit_scenario_name(visitor, row) ⇒ Object



42
43
44
# File 'lib/cucumber/ast/outline_table.rb', line 42

def visit_scenario_name(visitor, row)
  @scenario_outline.visit_scenario_name(visitor, row)
end