class Cucumber::Tree::RowScenario

def build_steps

def build_steps
  @template_scenario.steps.map do |template_step|
    args = []
    template_step.arity.times do
      args << @values.shift
    end
    RowStep.new(self, template_step, args)
  end
end

def initialize(feature, template_scenario, values, line)

def initialize(feature, template_scenario, values, line)
  @feature, @template_scenario, @values, @line = feature, template_scenario, values, line
  template_scenario.update_table_column_widths values
end

def name

def name
  @template_scenario.name
end

def row?

def row?
  true
end

def steps

We can only cache steps once the template scenarios steps have been bound in order to know what arity the steps have
def steps
  if template_steps_bound?
    @unbound_steps = nil
    @steps ||= build_steps
  else
    @unbound_steps ||= build_steps
  end
end

def template_steps_bound?

def template_steps_bound?
  @template_steps_bound ||= @template_scenario.steps.inject(0) { |arity_sum, step| arity_sum + step.arity } != 0
end