Class: Cucumber::Runtime::ForProgrammingLanguages

Inherits:
Object
  • Object
show all
Extended by:
Forwardable
Defined in:
lib/cucumber/runtime/for_programming_languages.rb

Overview

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.

Instance Method Summary collapse

Constructor Details

#initialize(support_code, user_interface) ⇒ ForProgrammingLanguages

Returns a new instance of ForProgrammingLanguages.



12
13
14
# File 'lib/cucumber/runtime/for_programming_languages.rb', line 12

def initialize(support_code, user_interface)
  @support_code, @user_interface = support_code, user_interface
end

Instance Method Details

#doc_string(string_without_triple_quotes, content_type = '', line_offset = 0) ⇒ Object

Returns Ast::DocString for string_without_triple_quotes.



55
56
57
# File 'lib/cucumber/runtime/for_programming_languages.rb', line 55

def doc_string(string_without_triple_quotes, content_type='', line_offset=0)
  Ast::DocString.new(string_without_triple_quotes,content_type)
end

#table(text_or_table, file = nil, line_offset = 0) ⇒ Object

Returns a Cucumber::Ast::Table 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     }
])


45
46
47
48
49
50
51
# File 'lib/cucumber/runtime/for_programming_languages.rb', line 45

def table(text_or_table, file=nil, line_offset=0)
  if Array === text_or_table
    Ast::Table.new(text_or_table)
  else
    Ast::Table.parse(text_or_table, file, line_offset)
  end
end