lib/turnip/node/rule.rb
require 'turnip/node/scenario_group_definition'
module Turnip
module Node
#
# @note Rule metadata generated by Gherkin
#
# {
# type: :Rule,
# location: { line: 10, column: 3 },
# keyword: 'Rule',
# name: 'Rule name',
# description: 'Rule description',
# children: [] # Array of Background, Scenario and Scenario Outline
# }
#
class Rule < ScenarioGroupDefinition
def children
@children ||= @raw.children.map do |child|
if child.is_a?(CukeModeler::Background)
next Background.new(child)
end
if child.is_a?(CukeModeler::Scenario)
next Scenario.new(child)
end
if child.is_a?(CukeModeler::Outline)
next ScenarioOutline.new(child)
end
end.compact
end
end
end
end