module CRB::World

Attributes

rb[RW]
support[RW]

Public Instance Methods

after() click to toggle source
# File lib/crb.rb, line 30
def after
  fire_hook(:after)
end
before() click to toggle source
# File lib/crb.rb, line 26
def before
  fire_hook(:before)
end
hooks() click to toggle source
# File lib/crb.rb, line 22
def hooks
  rb.send(:hooks)
end
steps() click to toggle source
# File lib/crb.rb, line 18
def steps
  support.step_definitions
end
to_s() click to toggle source
# File lib/crb.rb, line 14
def to_s
  "CRB:%s" % (steps.size rescue '???')
end

Private Instance Methods

Given(name, &block) click to toggle source
Calls superclass method
# File lib/crb.rb, line 35
def Given(name, &block)
  if block
    step = super(name, &block)
    "%s is defined" % (step.regexp_source rescue 'A new step')
  else
    @crb_before_executed ||= (before; true)
    support.step_match(name).invoke(nil)
  end
rescue Cucumber::Undefined => e
  puts e.to_s
  e
end
fire_hook(key) click to toggle source
# File lib/crb.rb, line 48
def fire_hook(key)
  count = 0
  hooks[key].each do |hook|
    block = hook.instance_variable_get('@proc')
    if block
      instance_eval(&block)
      count += 1
    else
      # cuke is newer than 1.0
    end
  end
  "%d %s hooks executed" % [count, key]
end