class CucumberAnalytics::Row
A class modeling a Cucumber Examples table row.
Attributes
cells[RW]
The cells that make up the row
Public Class Methods
new(source = nil)
click to toggle source
Creates a new Row
object and, if source is provided, populates the object.
# File lib/cucumber_analytics/row.rb, line 18 def initialize(source = nil) parsed_row = process_source(source) @cells = [] build_row(parsed_row) if parsed_row end
Public Instance Methods
to_s()
click to toggle source
Returns a gherkin representation of the row.
# File lib/cucumber_analytics/row.rb, line 27 def to_s "| #{cells.join(' | ')} |" end
Private Instance Methods
build_row(parsed_row)
click to toggle source
# File lib/cucumber_analytics/row.rb, line 53 def build_row(parsed_row) populate_element_source_line(parsed_row) populate_row_cells(parsed_row) populate_raw_element(parsed_row) end
parse_row(source_text)
click to toggle source
# File lib/cucumber_analytics/row.rb, line 44 def parse_row(source_text) base_file_string = "Feature: Fake feature to parse\nScenario Outline:\n* fake step\nExamples: fake examples\n" source_text = base_file_string + source_text parsed_file = Parsing::parse_text(source_text) parsed_file.first['elements'].first['examples'].first['rows'].first end
populate_row_cells(parsed_row)
click to toggle source
# File lib/cucumber_analytics/row.rb, line 59 def populate_row_cells(parsed_row) @cells = parsed_row['cells'] end
process_source(source)
click to toggle source
# File lib/cucumber_analytics/row.rb, line 35 def process_source(source) case when source.is_a?(String) parse_row(source) else source end end