Class Spec::Runner::HeckleRunner
In: lib/spec/runner/heckle_runner.rb
Parent: Object

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

Methods

Public Class methods

[Source]

    # File lib/spec/runner/heckle_runner.rb, line 11
11:       def initialize(filter, heckle_class=Heckler)
12:         @filter = filter
13:         @heckle_class = heckle_class
14:       end

Public Instance methods

[Source]

    # File lib/spec/runner/heckle_runner.rb, line 27
27:       def heckle_module
28:         filter = /^#{@filter}/
29:         classes = []
30:         ObjectSpace.each_object(Class) do |klass|
31:           classes << klass if klass.name =~ filter
32:         end
33:         
34:         classes.each do |klass|
35:           klass.instance_methods(false).each do |method_name|
36:             heckle = @heckle_class.new(klass.name, method_name, context_runner)
37:             heckle.validate
38:           end
39:         end
40:       end

Runs all the contexts held by context_runner once for each of the methods in the matched classes.

[Source]

    # File lib/spec/runner/heckle_runner.rb, line 18
18:       def heckle_with(context_runner)
19:         if @filter =~ /(.*)[#\.](.*)/
20:           heckle = @heckle_class.new($1, $2, context_runner)
21:           heckle.validate
22:         else
23:           heckle_module
24:         end
25:       end

[Validate]