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

#py_string(string_with_triple_quotes, file = nil, line_offset = 0) ⇒ Object

Returns a regular String for string_with_triple_quotes. Example:

"""
 hello
world
"""

Is retured as: “ hellonworld”



60
61
62
# File 'lib/cucumber/runtime/for_programming_languages.rb', line 60

def py_string(string_with_triple_quotes, file=nil, line_offset=0)
  Ast::PyString.parse(string_with_triple_quotes)
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     }
])


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

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