Class: Cucumber::Ast::OutlineTable

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

Overview

:nodoc:

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, #cell_matrix, #cells_rows, #col_width, #column_names, default_arg_name, #diff!, #dup, #each_cells_row, #has_text?, #hashes, #header_cell, #headers, #index, #map_column, #map_column!, #map_headers, #map_headers!, #match, parse, #raw, #rows, #rows_hash, #to_hash, #to_s, #to_step_definition_arg, #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
  init
end

Instance Method Details

#accept(visitor) ⇒ Object



20
21
22
23
24
25
26
27
28
29
30
31
# File 'lib/cucumber/ast/outline_table.rb', line 20

def accept(visitor)
  return if Cucumber.wants_to_quit
  init
  cells_rows.each_with_index do |row, n|
    if(visitor.configuration.expand?)
      row.accept(visitor)
    else
      visitor.visit_table_row(row)
    end
  end
  nil
end

#accept_hook?(hook) ⇒ Boolean

Returns:

  • (Boolean)


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

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

#create_step_invocations_for_example_rows!(scenario_outline) ⇒ Object



52
53
54
55
56
57
58
# File 'lib/cucumber/ast/outline_table.rb', line 52

def create_step_invocations_for_example_rows!(scenario_outline)
  return if @dunit
  @dunit = true
  example_rows.each do |cells|
    cells.create_step_invocations!(scenario_outline)
  end
end

#example_rowsObject



60
61
62
# File 'lib/cucumber/ast/outline_table.rb', line 60

def example_rows
  cells_rows[1..-1]
end

#initObject



11
12
13
# File 'lib/cucumber/ast/outline_table.rb', line 11

def init
  create_step_invocations_for_example_rows!(@scenario_outline)
end

#languageObject



68
69
70
# File 'lib/cucumber/ast/outline_table.rb', line 68

def language
  @scenario_outline.language
end

#skip_invoke!Object



45
46
47
48
49
50
# File 'lib/cucumber/ast/outline_table.rb', line 45

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

#source_tag_namesObject



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

def source_tag_names
  source_tags.map { |tag| tag.name }
end

#source_tagsObject



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

def source_tags
  @scenario_outline.source_tags
end

#to_sexpObject



15
16
17
18
# File 'lib/cucumber/ast/outline_table.rb', line 15

def to_sexp
  init
  super
end

#visit_scenario_name(visitor, row) ⇒ Object



64
65
66
# File 'lib/cucumber/ast/outline_table.rb', line 64

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