class Cucumber::Runtime::SupportCode::StepInvoker
def initialize(support_code)
def initialize(support_code) @support_code = support_code end
def multiline_arg(step, location)
def multiline_arg(step, location) if !step[:doc_string].nil? MultilineArgument.from(step[:doc_string][:content], location, step[:doc_string][:content_type]) elsif !step[:data_table].nil? MultilineArgument::DataTable.from(step[:data_table][:rows].map { |row| row[:cells].map { |cell| cell[:value] } }) else MultilineArgument.from(nil) end end
def step(step)
def step(step) location = Core::Test::Location.of_caller @support_code.invoke_dynamic_step(step[:text], multiline_arg(step, location)) end
def steps(steps)
def steps(steps) steps.each { |step| step(step) } end