Class Spec::Story::Step
In: lib/spec/story/step.rb
Parent: Object

Methods

init_module   matches?   new   parse_args   perform  

Constants

PARAM_PATTERN = /(\$\w*)/

Attributes

name  [R] 

Public Class methods

[Source]

    # File lib/spec/story/step.rb, line 7
 7:       def initialize(name, &block)
 8:         @name = name
 9:         assign_expression(name)
10:         init_module(name, &block)
11:       end

Public Instance methods

[Source]

    # File lib/spec/story/step.rb, line 18
18:       def init_module(name, &block)
19:         @mod = Module.new do
20:           define_method(name.to_s, &block)
21:         end
22:       end

[Source]

    # File lib/spec/story/step.rb, line 24
24:       def matches?(name)
25:         !(matches = name.match(@expression)).nil?
26:       end

[Source]

    # File lib/spec/story/step.rb, line 28
28:       def parse_args(name)
29:         name.match(@expression)[1..-1]
30:       end

[Source]

    # File lib/spec/story/step.rb, line 13
13:       def perform(instance, *args)
14:         instance.extend(@mod)
15:         instance.__send__(@name, *args)
16:       end

[Validate]