Class | Spec::Story::Step |
In: |
lib/spec/story/step.rb
|
Parent: | Object |
PARAM_PATTERN | = | /(\$\w*)/ |
PARAM_OR_GROUP_PATTERN | = | /(\$\w*)|\(.*?\)/ |
name | [R] |
# File lib/spec/story/step.rb, line 8 8: def initialize(name, &block) 9: @name = name 10: assign_expression(name) 11: init_module(name, &block) 12: end
# File lib/spec/story/step.rb, line 19 19: def init_module(name, &block) 20: sanitized_name = sanitize(name) 21: @mod = Module.new do 22: define_method(sanitized_name, &block) 23: end 24: end
# File lib/spec/story/step.rb, line 32 32: def matches?(name) 33: !(matches = name.match(@expression)).nil? 34: end
# File lib/spec/story/step.rb, line 36 36: def parse_args(name) 37: name.match(@expression)[1..-1] 38: end
# File lib/spec/story/step.rb, line 14 14: def perform(instance, *args) 15: instance.extend(@mod) 16: instance.__send__(sanitize(@name), *args) 17: end