Module: Cucumber::Core::Ast::MultilineArgument
- Extended by:
- Gherkin::Rubify
- Defined in:
- lib/cucumber/core/ast/multiline_argument.rb
Class Method Summary collapse
-
.from(argument, parent_location) ⇒ Object
TODO: move this up to the front-end.
Class Method Details
.from(argument, parent_location) ⇒ Object
TODO: move this up to the front-end
12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
# File 'lib/cucumber/core/ast/multiline_argument.rb', line 12 def from(argument, parent_location) return EmptyMultilineArgument.new unless argument return argument if argument.respond_to?(:to_step_definition_arg) argument = rubify(argument) case argument when String Ast::DocString.new(argument, 'text/plain', parent_location) when ::Gherkin::Formatter::Model::DocString Ast::DocString.new(argument.value, argument.content_type, parent_location.on_line(argument.line_range)) when Array location = parent_location.on_line(argument.first.line..argument.last.line) Ast::DataTable.new(argument.map{|row| row.cells}, location) else raise ArgumentError, "Don't know how to convert #{argument.inspect} into a MultilineArgument" end end |