class Cucumber::Runtime::ForProgrammingLanguages

This is what a programming language will consider to be a runtime.

It's a thin class that directs the handul of methods needed by the programming languages to the right place.

Attributes

support_code[R]

Public Class Methods

new(support_code, user_interface) click to toggle source
# File lib/cucumber/runtime/for_programming_languages.rb, line 16
def initialize(support_code, user_interface)
  @support_code, @user_interface = support_code, user_interface
end

Public Instance Methods

doc_string(body, content_type='', line_offset=0) click to toggle source

Returns a Cucumber::MultilineArgument::DocString for body.

# File lib/cucumber/runtime/for_programming_languages.rb, line 60
def doc_string(body, content_type='', line_offset=0)
  location = Core::Ast::Location.of_caller
  MultilineArgument.doc_string(body, content_type, location)
end
table(text_or_table, file=nil, line=0) click to toggle source

Returns a Cucumber::MultilineArgument::DataTable for text_or_table, which can either be a String:

table(%{
  | account | description | amount |
  | INT-100 | Taxi        | 114    |
  | CUC-101 | Peeler      | 22     |
})

or a 2D Array:

table([
  %w{ account description amount },
  %w{ INT-100 Taxi        114    },
  %w{ CUC-101 Peeler      22     }
])
# File lib/cucumber/runtime/for_programming_languages.rb, line 49
def table(text_or_table, file=nil, line=0)
  if !file
    location = Core::Ast::Location.of_caller
  else
    location = Core::Ast::Location.new(file, line)
  end
  MultilineArgument::DataTable.from(text_or_table, location)
end