Parent

Class Index [+]

Quicksearch

Cucumber::RbSupport::RbStepDefinition

A Ruby Step Definition holds a Regexp and a Proc, and is created by calling Given, When or Then in the step_definitions ruby files. See also RbDsl.

Example:

  Given /I have (\d+) cucumbers in my belly/ do
    # some code here
  end

Public Class Methods

new(rb_language, regexp, proc) click to toggle source
    # File lib/cucumber/rb_support/rb_step_definition.rb, line 26
26:       def initialize(rb_language, regexp, proc)
27:         raise MissingProc if proc.nil?
28:         if String === regexp
29:           p = Regexp.escape(regexp)
30:           p = p.gsub(/\\\$\w+/, '(.*)') # Replace $var with (.*)
31:           regexp = Regexp.new("^#{p}$") 
32:         end
33:         @rb_language, @regexp, @proc = rb_language, regexp, proc
34:         @rb_language.available_step_definition(regexp_source, file_colon_line)
35:       end

Public Instance Methods

==(step_definition) click to toggle source
    # File lib/cucumber/rb_support/rb_step_definition.rb, line 41
41:       def ==(step_definition)
42:         regexp_source == step_definition.regexp_source
43:       end
arguments_from(step_name) click to toggle source
    # File lib/cucumber/rb_support/rb_step_definition.rb, line 45
45:       def arguments_from(step_name)
46:         args = RegexpArgumentMatcher.arguments_from(@regexp, step_name)
47:         @rb_language.invoked_step_definition(regexp_source, file_colon_line) if args
48:         args
49:       end
backtrace_line() click to toggle source
    # File lib/cucumber/rb_support/rb_step_definition.rb, line 61
61:       def backtrace_line
62:         @proc.backtrace_line(regexp_source)
63:       end
file() click to toggle source
    # File lib/cucumber/rb_support/rb_step_definition.rb, line 69
69:       def file
70:         @file ||= file_colon_line.split(':')[0]
71:       end
file_colon_line() click to toggle source
    # File lib/cucumber/rb_support/rb_step_definition.rb, line 65
65:       def file_colon_line
66:         @proc.file_colon_line
67:       end
invoke(args) click to toggle source
    # File lib/cucumber/rb_support/rb_step_definition.rb, line 51
51:       def invoke(args)
52:         begin
53:           args = @rb_language.execute_transforms(args)
54:           @rb_language.current_world.cucumber_instance_exec(true, regexp_source, *args, &@proc)
55:         rescue Cucumber::ArityMismatchError => e
56:           e.backtrace.unshift(self.backtrace_line)
57:           raise e
58:         end
59:       end
regexp_source() click to toggle source
    # File lib/cucumber/rb_support/rb_step_definition.rb, line 37
37:       def regexp_source
38:         @regexp.inspect
39:       end

Disabled; run with --debug to generate this.

[Validate]

Generated with the Darkfish Rdoc Generator 1.1.6.