module Lucid::AST::MultilineArgument
Public Class Methods
from(argument)
click to toggle source
# File lib/lucid/ast/multiline_argument.rb, line 10 def from(argument) return unless argument return argument if argument.respond_to?(:to_step_definition_arg) case(rubify(argument)) when String # TODO: This duplicates work that Gherkin already does. # Ideally the string should be passed directly to Gherkin for parsing. AST::DocString.new(argument, '') when Gherkin::Formatter::Model::DocString AST::DocString.new(argument.value, argument.content_type) when Array AST::Table.new(argument.map{|row| row.cells}) else raise ArgumentError, "Lucid does not know how to convert #{argument} into a multi-line argument." end end