class Spec::Runner::HeckleRunner

whose name matches filter
Creates a new Heckler configured to heckle all methods in the classes

def heckle_class_or_module(class_or_module_name)

def heckle_class_or_module(class_or_module_name)
  verify_constant(class_or_module_name)
  pattern = /^#{class_or_module_name}/
  classes = []
  ObjectSpace.each_object(Class) do |klass|
    classes << klass if klass.name =~ pattern
  end

  classes.each do |klass|
    klass.instance_methods(false).each do |method_name|
      heckle = @heckle_class.new(klass.name, method_name, Spec::Runner.options)
      heckle.validate
    end
  end
end

def heckle_method(class_name, method_name)

def heckle_method(class_name, method_name)
  verify_constant(class_name)
  heckle = @heckle_class.new(class_name, method_name, Spec::Runner.options)
  heckle.validate
end

def heckle_with

methods in the matched classes.
Runs all the example groups held by +rspec_options+ once for each of the
def heckle_with
  if @filter =~ /(.*)[#\.](.*)/
    heckle_method($1, $2)
  else
    heckle_class_or_module(@filter)
  end
end

def initialize(filter, heckle_class=Heckler)

def initialize(filter, heckle_class=Heckler)
  @filter = filter
  @heckle_class = heckle_class
end

def initialize(filter)

def initialize(filter)
  raise "Heckle is not supported on Windows or Ruby 1.9"
end

def verify_constant(name)

def verify_constant(name)
  begin
    # This is defined in Heckle
    name.to_class
  rescue
    raise "Heckling failed - \"#{name}\" is not a known class or module"
  end
end