module Cucumber::MultilineArgument

Public Class Methods

from(argument, location = nil, content_type = nil) click to toggle source
# File lib/cucumber/multiline_argument.rb, line 14
def from(argument, location = nil, content_type = nil)
  location ||= Core::Test::Location.of_caller
  case argument
  when String
    builder.doc_string(Core::Test::DocString.new(argument, content_type))
  when Array
    location = location.on_line(argument.first.line..argument.last.line)
    builder.data_table(argument.map(&:cells), location)
  when DataTable, DocString, None
    argument
  when nil
    None.new
  else
    raise ArgumentError, "Don't know how to convert #{argument.class} #{argument.inspect} into a MultilineArgument"
  end
end
from_core(node) click to toggle source
# File lib/cucumber/multiline_argument.rb, line 10
def from_core(node)
  builder.wrap(node)
end

Private Class Methods

builder() click to toggle source
# File lib/cucumber/multiline_argument.rb, line 33
def builder
  @builder ||= Builder.new
end