<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array"/>
  <modified type="array">
    <modified>
      <diff>@@ -11,11 +11,12 @@
   * subject { ... } - works in conjunction with implicit receiver of #should
   * wrap_expectation (for wrapping multiple expectations and/or t/u assertions)
 
-* 3 minor enhancements
+* 4 minor enhancements
 
   * should throw_symbol accepts an optional argument: should throw_symbol(:sym, arg)
   * fixed --line for jruby (Zach Moazeni)
   * assorted small changes to support Ruby 1.9 (got a way to go)
+  * removed all instances of class &lt;&lt; self - I do know who I am
   
 * 4 bug fixes
 </diff>
      <filename>History.txt</filename>
    </modified>
    <modified>
      <diff>@@ -84,7 +84,6 @@ lib/spec/expectations/handler.rb
 lib/spec/expectations/wrap_expectation.rb
 lib/spec/extensions.rb
 lib/spec/extensions/class.rb
-lib/spec/extensions/metaclass.rb
 lib/spec/interop/test.rb
 lib/spec/interop/test/unit/autorunner.rb
 lib/spec/interop/test/unit/testcase.rb</diff>
      <filename>Manifest.txt</filename>
    </modified>
    <modified>
      <diff>@@ -8,27 +8,25 @@ require 'spec/version'
 require 'spec/dsl'
 
 module Spec
-  class &lt;&lt; self
-    def test_unit_defined?
-      Object.const_defined?(:Test) &amp;&amp; Test.const_defined?(:Unit)
-    end
+  def self.test_unit_defined?
+    Object.const_defined?(:Test) &amp;&amp; Test.const_defined?(:Unit)
+  end
 
-    def run?
-      Runner.options.examples_run?
-    end
+  def self.run?
+    Runner.options.examples_run?
+  end
 
-    def run
-      return true if run?
-      Runner.options.run_examples
-    end
-    
-    def exit?
-      !test_unit_defined? || Test::Unit.run?
-    end
+  def self.run
+    return true if run?
+    Runner.options.run_examples
+  end
+  
+  def self.exit?
+    !test_unit_defined? || Test::Unit.run?
+  end
 
-    def spec_command?
-      $0.split('/').last == 'spec'
-    end
+  def self.spec_command?
+    $0.split('/').last == 'spec'
   end
 end
 </diff>
      <filename>lib/spec.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,26 +1,24 @@
 module Spec
   module Example
-    class &lt;&lt; self
-      def args_and_options(*args)
-        with_options_from(args) do |options|
-          return args, options
-        end
+    def self.args_and_options(*args)
+      with_options_from(args) do |options|
+        return args, options
       end
+    end
 
-      def scope_from(*args)
-        args[0] || :each
-      end
+    def self.scope_from(*args)
+      args[0] || :each
+    end
 
-      def scope_and_options(*args)
-        args, options = args_and_options(*args)
-        return scope_from(*args), options
-      end
+    def self.scope_and_options(*args)
+      args, options = args_and_options(*args)
+      return scope_from(*args), options
+    end
 
-    private
-      
-      def with_options_from(args)
-        yield Hash === args.last ? args.pop : {} if block_given?
-      end
+  private
+    
+    def self.with_options_from(args)
+      yield Hash === args.last ? args.pop : {} if block_given?
     end
   end
 end</diff>
      <filename>lib/spec/example.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,7 +1,7 @@
 module Spec
   module Example
     class ExampleGroupFactory
-      class &lt;&lt; self
+      module ClassMethods
         def reset
           @example_group_types = nil
           default(ExampleGroup)
@@ -76,6 +76,7 @@ module Spec
         end
 
       end
+      extend ClassMethods
       self.reset
     end
   end</diff>
      <filename>lib/spec/example/example_group_factory.rb</filename>
    </modified>
    <modified>
      <diff>@@ -3,15 +3,19 @@ module Spec
 
     module ExampleGroupMethods
       include Spec::Example::BeforeAndAfterHooks
+      
+      def self.matcher_class
+        @matcher_class
+      end
+      
+      def self.matcher_class=(matcher_class)
+        @matcher_class = matcher_class
+      end
 
-      class &lt;&lt; self
-        attr_accessor :matcher_class
-
-        def description_text(*args)
-          args.inject(&quot;&quot;) do |result, arg|
-            result &lt;&lt; &quot; &quot; unless (result == &quot;&quot; || arg.to_s =~ /^(\s|\.|#)/)
-            result &lt;&lt; arg.to_s
-          end
+      def self.description_text(*args)
+        args.inject(&quot;&quot;) do |result, arg|
+          result &lt;&lt; &quot; &quot; unless (result == &quot;&quot; || arg.to_s =~ /^(\s|\.|#)/)
+          result &lt;&lt; arg.to_s
         end
       end
 
@@ -65,7 +69,7 @@ WARNING
           if options[:shared]
             create_shared_example_group(*args, &amp;example_group_block)
           else
-            create_nested_example_group(*args, &amp;example_group_block)
+            create_subclass(*args, &amp;example_group_block)
           end
         else
           set_description(*args)
@@ -73,11 +77,11 @@ WARNING
       end
       alias :context :describe
       
-      def create_shared_example_group(*args, &amp;example_group_block)
+      def create_shared_example_group(*args, &amp;example_group_block) # :nodoc:
         SharedExampleGroup.register(*args, &amp;example_group_block)
       end
       
-      def create_nested_example_group(*args, &amp;example_group_block)
+      def create_subclass(*args, &amp;example_group_block) # :nodoc:
         self.subclass(&quot;Subclass&quot;) do
           set_description(*args)
           module_eval(&amp;example_group_block)</diff>
      <filename>lib/spec/example/example_group_methods.rb</filename>
    </modified>
    <modified>
      <diff>@@ -31,27 +31,31 @@ module Spec
   # RSpec ships with a standard set of useful matchers, and writing your own
   # matchers is quite simple. See Spec::Matchers for details.
   module Expectations
-    class &lt;&lt; self
-      attr_accessor :differ
+    def self.differ
+      @differ
+    end
+    
+    def self.differ=(differ)
+      @differ = differ
+    end
 
-      # raises a Spec::Expectations::ExpectationNotMetError with message
-      #
-      # When a differ has been assigned and fail_with is passed
-      # &lt;code&gt;expected&lt;/code&gt; and &lt;code&gt;target&lt;/code&gt;, passes them
-      # to the differ to append a diff message to the failure message.
-      def fail_with(message, expected=nil, target=nil) # :nodoc:
-        if Array === message &amp;&amp; message.length == 3
-          message, expected, target = message[0], message[1], message[2]
-        end
-        unless (differ.nil? || expected.nil? || target.nil?)
-          if expected.is_a?(String)
-            message &lt;&lt; &quot;\nDiff:&quot; &lt;&lt; self.differ.diff_as_string(target.to_s, expected)
-          elsif !target.is_a?(Proc)
-            message &lt;&lt; &quot;\nDiff:&quot; &lt;&lt; self.differ.diff_as_object(target, expected)
-          end
+    # raises a Spec::Expectations::ExpectationNotMetError with message
+    #
+    # When a differ has been assigned and fail_with is passed
+    # &lt;code&gt;expected&lt;/code&gt; and &lt;code&gt;target&lt;/code&gt;, passes them
+    # to the differ to append a diff message to the failure message.
+    def self.fail_with(message, expected=nil, target=nil) # :nodoc:
+      if Array === message &amp;&amp; message.length == 3
+        message, expected, target = message[0], message[1], message[2]
+      end
+      unless (differ.nil? || expected.nil? || target.nil?)
+        if expected.is_a?(String)
+          message &lt;&lt; &quot;\nDiff:&quot; &lt;&lt; self.differ.diff_as_string(target.to_s, expected)
+        elsif !target.is_a?(Proc)
+          message &lt;&lt; &quot;\nDiff:&quot; &lt;&lt; self.differ.diff_as_object(target, expected)
         end
-        Kernel::raise(Spec::Expectations::ExpectationNotMetError.new(message))
       end
+      Kernel::raise(Spec::Expectations::ExpectationNotMetError.new(message))
     end
   end
 end</diff>
      <filename>lib/spec/expectations.rb</filename>
    </modified>
    <modified>
      <diff>@@ -3,50 +3,45 @@ module Spec
     class InvalidMatcherError &lt; ArgumentError; end        
     
     class ExpectationMatcherHandler        
-      class &lt;&lt; self
-        def handle_matcher(actual, matcher, &amp;block)
-          ::Spec::Matchers.last_should = &quot;should&quot;
-          return Spec::Matchers::PositiveOperatorMatcher.new(actual) if matcher.nil?
+      def self.handle_matcher(actual, matcher, &amp;block)
+        ::Spec::Matchers.last_should = &quot;should&quot;
+        return Spec::Matchers::PositiveOperatorMatcher.new(actual) if matcher.nil?
 
-          unless matcher.respond_to?(:matches?)
-            raise InvalidMatcherError, &quot;Expected a matcher, got #{matcher.inspect}.&quot;
-          end
-          
-          match = matcher.matches?(actual, &amp;block)
-          ::Spec::Matchers.last_matcher = matcher
-          Spec::Expectations.fail_with(matcher.failure_message) unless match
-          match
+        unless matcher.respond_to?(:matches?)
+          raise InvalidMatcherError, &quot;Expected a matcher, got #{matcher.inspect}.&quot;
         end
+        
+        match = matcher.matches?(actual, &amp;block)
+        ::Spec::Matchers.last_matcher = matcher
+        Spec::Expectations.fail_with(matcher.failure_message) unless match
+        match
       end
     end
 
     class NegativeExpectationMatcherHandler
-      class &lt;&lt; self
-        def handle_matcher(actual, matcher, &amp;block)
-          ::Spec::Matchers.last_should = &quot;should not&quot;
-          return Spec::Matchers::NegativeOperatorMatcher.new(actual) if matcher.nil?
-          
-          unless matcher.respond_to?(:matches?)
-            raise InvalidMatcherError, &quot;Expected a matcher, got #{matcher.inspect}.&quot;
-          end
+      def self.handle_matcher(actual, matcher, &amp;block)
+        ::Spec::Matchers.last_should = &quot;should not&quot;
+        return Spec::Matchers::NegativeOperatorMatcher.new(actual) if matcher.nil?
+        
+        unless matcher.respond_to?(:matches?)
+          raise InvalidMatcherError, &quot;Expected a matcher, got #{matcher.inspect}.&quot;
+        end
 
-          unless matcher.respond_to?(:negative_failure_message)
-            Spec::Expectations.fail_with(
+        unless matcher.respond_to?(:negative_failure_message)
+          Spec::Expectations.fail_with(
 &lt;&lt;-EOF
 Matcher does not support should_not.
 See Spec::Matchers for more information
 about matchers.
 EOF
 )
-          end
-          match = matcher.matches?(actual, &amp;block)
-          ::Spec::Matchers.last_matcher = matcher
-          Spec::Expectations.fail_with(matcher.negative_failure_message) if match
-          match
         end
+        match = matcher.matches?(actual, &amp;block)
+        ::Spec::Matchers.last_matcher = matcher
+        Spec::Expectations.fail_with(matcher.negative_failure_message) if match
+        match
       end
     end
-
   end
 end
 </diff>
      <filename>lib/spec/expectations/handler.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,2 +1 @@
 require 'spec/extensions/class'
-require 'spec/extensions/metaclass'</diff>
      <filename>lib/spec/extensions.rb</filename>
    </modified>
    <modified>
      <diff>@@ -23,26 +23,24 @@ module Test
       extend Spec::Example::ExampleGroupMethods
       include Spec::Example::ExampleMethods
 
-      before(:each) {setup}
-      after(:each) {teardown}
-
-      class &lt;&lt; self
-        def suite
-          Test::Unit::TestSuiteAdapter.new(self)
-        end
+      def self.suite
+        Test::Unit::TestSuiteAdapter.new(self)
+      end
 
-        def example_method?(method_name)
-          should_method?(method_name) || test_method?(method_name)
-        end
+      def self.example_method?(method_name)
+        should_method?(method_name) || test_method?(method_name)
+      end
 
-        def test_method?(method_name)
-          method_name =~ /^test[_A-Z]./ &amp;&amp; (
-            instance_method(method_name).arity == 0 ||
-            instance_method(method_name).arity == -1
-          )
-        end
+      def self.test_method?(method_name)
+        method_name =~ /^test[_A-Z]./ &amp;&amp; (
+          instance_method(method_name).arity == 0 ||
+          instance_method(method_name).arity == -1
+        )
       end
 
+      before(:each) {setup}
+      after(:each) {teardown}
+
       def initialize(defined_description, options={}, &amp;implementation)
         @_defined_description = defined_description
         </diff>
      <filename>lib/spec/interop/test/unit/testcase.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,35 +1,47 @@
 module Spec
   module Matchers
-    class &lt;&lt; self
-      attr_accessor :last_matcher, :last_should
-
-      def clear_generated_description
-        self.last_matcher = nil
-        self.last_should = nil
-      end
-
-      def generated_description
-        return nil if last_should.nil?
-        &quot;#{last_should} #{last_description}&quot;
-      end
-      
-      private
-      
-      def last_description
-        last_matcher.respond_to?(:description) ? last_matcher.description : &lt;&lt;-MESSAGE
+    def self.last_matcher
+      @last_matcher
+    end
+
+    def self.last_matcher=(last_matcher)
+      @last_matcher = last_matcher
+    end
+
+    def self.last_should
+      @last_should
+    end
+
+    def self.last_should=(last_should)
+      @last_should = last_should
+    end
+
+    def self.clear_generated_description
+      self.last_matcher = nil
+      self.last_should = nil
+    end
+
+    def self.generated_description
+      return nil if last_should.nil?
+      &quot;#{last_should} #{last_description}&quot;
+    end
+    
+    private
+    
+    def self.last_description
+      last_matcher.respond_to?(:description) ? last_matcher.description : &lt;&lt;-MESSAGE
 When you call a matcher in an example without a String, like this:
 
-  specify { object.should matcher }
-  
+specify { object.should matcher }
+
 or this:
 
-  it { should matcher }
-  
+it { should matcher }
+
 the runner expects the matcher to have a #describe method. You should either
 add a String to the example this matcher is being used in, or give it a
 description method. Then you won't have to suffer this lengthy warning again.
 MESSAGE
-      end
     end
   end
 end</diff>
      <filename>lib/spec/matchers/generated_descriptions.rb</filename>
    </modified>
    <modified>
      <diff>@@ -56,12 +56,10 @@ module Spec
     #   end
     #
     class SpecTask &lt; ::Rake::TaskLib
-      class &lt;&lt; self
-        def attr_accessor(*names)
-          super(*names)
-          names.each do |name|
-            module_eval &quot;def #{name}() evaluate(@#{name}) end&quot; # Allows use of procs
-          end
+      def self.attr_accessor(*names)
+        super(*names)
+        names.each do |name|
+          module_eval &quot;def #{name}() evaluate(@#{name}) end&quot; # Allows use of procs
         end
       end
 </diff>
      <filename>lib/spec/rake/spectask.rb</filename>
    </modified>
    <modified>
      <diff>@@ -164,50 +164,48 @@ module Spec
   #    end
   #  end
   module Runner
-    class &lt;&lt; self
-      def configuration # :nodoc:
-        @configuration ||= Spec::Example::Configuration.new
-      end
-      
-      # Use this to configure various configurable aspects of
-      # RSpec:
-      #
-      #   Spec::Runner.configure do |configuration|
-      #     # Configure RSpec here
-      #   end
-      #
-      # The yielded &lt;tt&gt;configuration&lt;/tt&gt; object is a
-      # Spec::Example::Configuration instance. See its RDoc
-      # for details about what you can do with it.
-      #
-      def configure
-        yield configuration
-      end
-      
-      def register_at_exit_hook # :nodoc:
-        unless @already_registered_at_exit_hook
-          at_exit do
-            unless $! || Spec.run? || Spec::Example::ExampleGroupFactory.registered_or_ancestor_of_registered?(options.example_groups)
-              success = Spec.run
-              exit success if Spec.exit?
-            end
+    def self.configuration # :nodoc:
+      @configuration ||= Spec::Example::Configuration.new
+    end
+
+    # Use this to configure various configurable aspects of
+    # RSpec:
+    #
+    #   Spec::Runner.configure do |configuration|
+    #     # Configure RSpec here
+    #   end
+    #
+    # The yielded &lt;tt&gt;configuration&lt;/tt&gt; object is a
+    # Spec::Example::Configuration instance. See its RDoc
+    # for details about what you can do with it.
+    #
+    def self.configure
+      yield configuration
+    end
+    
+    def self.register_at_exit_hook # :nodoc:
+      unless @already_registered_at_exit_hook
+        at_exit do
+          unless $! || Spec.run? || Spec::Example::ExampleGroupFactory.registered_or_ancestor_of_registered?(options.example_groups)
+            success = Spec.run
+            exit success if Spec.exit?
           end
-          @already_registered_at_exit_hook = true
         end
+        @already_registered_at_exit_hook = true
       end
+    end
 
-      def options # :nodoc:
-        @options ||= begin
-          parser = ::Spec::Runner::OptionParser.new($stderr, $stdout)
-          parser.order!(ARGV)
-          parser.options
-        end
-      end
-      
-      def use options
-        @options = options
+    def self.options # :nodoc:
+      @options ||= begin
+        parser = ::Spec::Runner::OptionParser.new($stderr, $stdout)
+        parser.order!(ARGV)
+        parser.options
       end
-
     end
+    
+    def self.use options
+      @options = options
+    end
+
   end
 end</diff>
      <filename>lib/spec/runner.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,16 +1,14 @@
 module Spec
   module Runner
     class ClassAndArgumentsParser
-      class &lt;&lt; self
-        def parse(s)
-          if s =~ /([a-zA-Z_]+(?:::[a-zA-Z_]+)*):?(.*)/
-            arg = $2 == &quot;&quot; ? nil : $2
-            [$1, arg]
-          else
-            raise &quot;Couldn't parse #{s.inspect}&quot;
-          end
+      def self.parse(s)
+        if s =~ /([a-zA-Z_]+(?:::[a-zA-Z_]+)*):?(.*)/
+          arg = $2 == &quot;&quot; ? nil : $2
+          [$1, arg]
+        else
+          raise &quot;Couldn't parse #{s.inspect}&quot;
         end
       end
     end
   end
-end
\ No newline at end of file
+end</diff>
      <filename>lib/spec/runner/class_and_arguments_parser.rb</filename>
    </modified>
    <modified>
      <diff>@@ -3,14 +3,12 @@ require 'spec/runner/option_parser'
 module Spec
   module Runner
     class CommandLine
-      class &lt;&lt; self
-        def run(tmp_options=Spec::Runner.options)
-          orig_options = Spec::Runner.options
-          Spec::Runner.use tmp_options
-          tmp_options.run_examples
-        ensure
-          Spec::Runner.use orig_options
-        end
+      def self.run(tmp_options=Spec::Runner.options)
+        orig_options = Spec::Runner.options
+        Spec::Runner.use tmp_options
+        tmp_options.run_examples
+      ensure
+        Spec::Runner.use orig_options
       end
     end
   end</diff>
      <filename>lib/spec/runner/command_line.rb</filename>
    </modified>
    <modified>
      <diff>@@ -4,12 +4,10 @@ require 'stringio'
 module Spec
   module Runner
     class OptionParser &lt; ::OptionParser
-      class &lt;&lt; self
-        def parse(args, err, out)
-          parser = new(err, out)
-          parser.parse(args)
-          parser.options
-        end
+      def self.parse(args, err, out)
+        parser = new(err, out)
+        parser.parse(args)
+        parser.options
       end
 
       attr_reader :options</diff>
      <filename>lib/spec/runner/option_parser.rb</filename>
    </modified>
    <modified>
      <diff>@@ -8,52 +8,50 @@ require 'spec/story/runner/plain_text_story_runner.rb'
 module Spec
   module Story
     module Runner
-      class &lt;&lt; self
-        def run_options # :nodoc:
-          Spec::Runner.options
-        end
-        
-        def story_runner # :nodoc:
-          unless @story_runner
-            @story_runner = create_story_runner
-            run_options.story_formatters.each do |formatter|
-              register_listener(formatter)
-            end
-            self.register_exit_hook
-          end
-          @story_runner
-        end
-        
-        def scenario_runner # :nodoc:
-          @scenario_runner ||= ScenarioRunner.new
-        end
-        
-        def world_creator # :nodoc:
-          @world_creator ||= World
-        end
-        
-        def create_story_runner
-          Runner::StoryRunner.new(scenario_runner, world_creator)
-        end
-        
-        # Use this to register a customer output formatter.
-        def register_listener(listener)
-          story_runner.add_listener(listener) # run_started, story_started, story_ended, #run_ended
-          world_creator.add_listener(listener) # found_scenario, step_succeeded, step_failed, step_failed
-          scenario_runner.add_listener(listener) # scenario_started, scenario_succeeded, scenario_pending, scenario_failed
-        end
-        
-        def register_exit_hook # :nodoc:
-          at_exit do
-            exit Runner.story_runner.run_stories unless $!
+      def self.run_options # :nodoc:
+        Spec::Runner.options
+      end
+      
+      def self.story_runner # :nodoc:
+        unless @story_runner
+          @story_runner = create_story_runner
+          run_options.story_formatters.each do |formatter|
+            register_listener(formatter)
           end
+          self.register_exit_hook
         end
-        
-        def dry_run
-          run_options.dry_run
+        @story_runner
+      end
+      
+      def self.scenario_runner # :nodoc:
+        @scenario_runner ||= ScenarioRunner.new
+      end
+      
+      def self.world_creator # :nodoc:
+        @world_creator ||= World
+      end
+      
+      def self.create_story_runner
+        Runner::StoryRunner.new(scenario_runner, world_creator)
+      end
+      
+      # Use this to register a customer output formatter.
+      def self.register_listener(listener)
+        story_runner.add_listener(listener) # run_started, story_started, story_ended, #run_ended
+        world_creator.add_listener(listener) # found_scenario, step_succeeded, step_failed, step_failed
+        scenario_runner.add_listener(listener) # scenario_started, scenario_succeeded, scenario_pending, scenario_failed
+      end
+      
+      def self.register_exit_hook # :nodoc:
+        at_exit do
+          exit Runner.story_runner.run_stories unless $!
         end
-        
       end
+      
+      def self.dry_run
+        run_options.dry_run
+      end
+      
     end
   end
 end</diff>
      <filename>lib/spec/story/runner.rb</filename>
    </modified>
    <modified>
      <diff>@@ -2,12 +2,16 @@ module Spec
   module Story
     module Runner
       class StoryRunner
-        class &lt;&lt; self
-          attr_accessor :current_story_runner
-          
-          def scenario_from_current_story(scenario_name)
-            current_story_runner.scenario_from_current_story(scenario_name)
-          end
+        def self.current_story_runner
+          @current_story_runner
+        end
+
+        def self.current_story_runner=(current_story_runner)
+          @current_story_runner = current_story_runner
+        end
+
+        def self.scenario_from_current_story(scenario_name)
+          current_story_runner.scenario_from_current_story(scenario_name)
         end
         
         attr_accessor :stories, :scenarios, :current_story</diff>
      <filename>lib/spec/story/runner/story_runner.rb</filename>
    </modified>
    <modified>
      <diff>@@ -15,82 +15,78 @@ module Spec
     module World
       include ::Spec::Example::Pending
       include ::Spec::Matchers
-      # store steps and listeners in the singleton metaclass.
-      # This serves both to keep them out of the way of runtime Worlds
-      # and to make them available to all instances.
-      class &lt;&lt; self
-        def create(cls = Object, *args)
-          cls.new(*args).extend(World)
-        end
-        
-        def listeners
-          @listeners ||= []
-        end
-        
-        def add_listener(listener)
-          listeners() &lt;&lt; listener
-        end
-        
-        def step_mother
-          @step_mother ||= StepMother.new
-        end
-                
-        def use(steps)
-          step_mother.use(steps)
-        end
-        
-        def step_names
-          @step_names ||= []
-        end
 
-        def run_given_scenario_with_suspended_listeners(world, type, name, scenario)
-          current_listeners = Array.new(listeners)
-          begin
-            listeners.each { |l| l.found_scenario(type, name) }
-            @listeners.clear
-            scenario.perform(world, name) unless dry_run
-          ensure
-            @listeners.replace(current_listeners)
-          end
-        end
-        
-        def store_and_call(world, type, name, *args, &amp;block)
-          if block_given?
-            step_mother.store(type, Step.new(name, &amp;block))
-          end
-          step = step_mother.find(type, name)
+      def self.create(cls = Object, *args)
+        cls.new(*args).extend(World)
+      end
+      
+      def self.listeners
+        @listeners ||= []
+      end
+      
+      def self.add_listener(listener)
+        listeners() &lt;&lt; listener
+      end
+      
+      def self.step_mother
+        @step_mother ||= StepMother.new
+      end
+              
+      def self.use(steps)
+        step_mother.use(steps)
+      end
+      
+      def self.step_names
+        @step_names ||= []
+      end
 
-          step_name = step.name
-          step_names &lt;&lt; step_name
-          
-          # It's important to have access to the parsed args here, so
-          # we can give them to the listeners. The HTML reporter needs
-          # the args so it can style them. See the generated output in
-          # story_server/prototype/rspec_stories.html (generated by rake stories)
-          args = step.parse_args(name) if args.empty?
-          begin
-            listeners.each { |l| l.step_upcoming(type, step_name, *args) }
-            step.perform(world, *args) unless dry_run
-            listeners.each { |l| l.step_succeeded(type, step_name, *args) }
-          rescue Exception =&gt; e
-            case e
-            when Spec::Example::ExamplePendingError
-              @listeners.each { |l| l.step_pending(type, step_name, *args) }
-            else
-              @listeners.each { |l| l.step_failed(type, step_name, *args) }
-            end
-            errors &lt;&lt; e
-          end
+      def self.run_given_scenario_with_suspended_listeners(world, type, name, scenario)
+        current_listeners = Array.new(listeners)
+        begin
+          listeners.each { |l| l.found_scenario(type, name) }
+          @listeners.clear
+          scenario.perform(world, name) unless dry_run
+        ensure
+          @listeners.replace(current_listeners)
         end
-        
-        def errors
-          @errors ||= []
+      end
+      
+      def self.store_and_call(world, type, name, *args, &amp;block)
+        if block_given?
+          step_mother.store(type, Step.new(name, &amp;block))
         end
+        step = step_mother.find(type, name)
+
+        step_name = step.name
+        step_names &lt;&lt; step_name
         
-        def dry_run
-          ::Spec::Story::Runner.dry_run
+        # It's important to have access to the parsed args here, so
+        # we can give them to the listeners. The HTML reporter needs
+        # the args so it can style them. See the generated output in
+        # story_server/prototype/rspec_stories.html (generated by rake stories)
+        args = step.parse_args(name) if args.empty?
+        begin
+          listeners.each { |l| l.step_upcoming(type, step_name, *args) }
+          step.perform(world, *args) unless dry_run
+          listeners.each { |l| l.step_succeeded(type, step_name, *args) }
+        rescue Exception =&gt; e
+          case e
+          when Spec::Example::ExamplePendingError
+            @listeners.each { |l| l.step_pending(type, step_name, *args) }
+          else
+            @listeners.each { |l| l.step_failed(type, step_name, *args) }
+          end
+          errors &lt;&lt; e
         end
-      end # end of class &lt;&lt; self
+      end
+      
+      def self.errors
+        @errors ||= []
+      end
+      
+      def self.dry_run
+        ::Spec::Story::Runner.dry_run
+      end
       
       def start_collecting_errors
         errors.clear</diff>
      <filename>lib/spec/story/world.rb</filename>
    </modified>
    <modified>
      <diff>@@ -11,7 +11,7 @@ Gem::Specification.new do |s|
   s.email = [&quot;rspec-devel@rubyforge.org&quot;]
   s.executables = [&quot;autospec&quot;, &quot;spec&quot;]
   s.extra_rdoc_files = [&quot;History.txt&quot;, &quot;License.txt&quot;, &quot;Manifest.txt&quot;, &quot;README.txt&quot;, &quot;TODO.txt&quot;, &quot;examples/failing/README.txt&quot;, &quot;examples/passing/priority.txt&quot;, &quot;spec/spec/runner/empty_file.txt&quot;, &quot;spec/spec/runner/examples.txt&quot;, &quot;spec/spec/runner/failed.txt&quot;]
-  s.files = [&quot;.autotest&quot;, &quot;History.txt&quot;, &quot;License.txt&quot;, &quot;Manifest.txt&quot;, &quot;README.txt&quot;, &quot;Rakefile&quot;, &quot;TODO.txt&quot;, &quot;bin/autospec&quot;, &quot;bin/spec&quot;, &quot;examples/failing/README.txt&quot;, &quot;examples/failing/diffing_spec.rb&quot;, &quot;examples/failing/failing_autogenerated_docstrings_example.rb&quot;, &quot;examples/failing/failure_in_setup.rb&quot;, &quot;examples/failing/failure_in_teardown.rb&quot;, &quot;examples/failing/mocking_example.rb&quot;, &quot;examples/failing/mocking_with_flexmock.rb&quot;, &quot;examples/failing/mocking_with_mocha.rb&quot;, &quot;examples/failing/mocking_with_rr.rb&quot;, &quot;examples/failing/partial_mock_example.rb&quot;, &quot;examples/failing/predicate_example.rb&quot;, &quot;examples/failing/raising_example.rb&quot;, &quot;examples/failing/spec_helper.rb&quot;, &quot;examples/failing/syntax_error_example.rb&quot;, &quot;examples/failing/team_spec.rb&quot;, &quot;examples/failing/timeout_behaviour.rb&quot;, &quot;examples/passing/autogenerated_docstrings_example.rb&quot;, &quot;examples/passing/before_and_after_example.rb&quot;, &quot;examples/passing/behave_as_example.rb&quot;, &quot;examples/passing/custom_expectation_matchers.rb&quot;, &quot;examples/passing/custom_formatter.rb&quot;, &quot;examples/passing/dynamic_spec.rb&quot;, &quot;examples/passing/file_accessor.rb&quot;, &quot;examples/passing/file_accessor_spec.rb&quot;, &quot;examples/passing/greeter_spec.rb&quot;, &quot;examples/passing/helper_method_example.rb&quot;, &quot;examples/passing/io_processor.rb&quot;, &quot;examples/passing/io_processor_spec.rb&quot;, &quot;examples/passing/legacy_spec.rb&quot;, &quot;examples/passing/mocking_example.rb&quot;, &quot;examples/passing/multi_threaded_behaviour_runner.rb&quot;, &quot;examples/passing/nested_classes_example.rb&quot;, &quot;examples/passing/partial_mock_example.rb&quot;, &quot;examples/passing/pending_example.rb&quot;, &quot;examples/passing/predicate_example.rb&quot;, &quot;examples/passing/priority.txt&quot;, &quot;examples/passing/shared_example_group_example.rb&quot;, &quot;examples/passing/shared_stack_examples.rb&quot;, &quot;examples/passing/simple_matcher_example.rb&quot;, &quot;examples/passing/spec_helper.rb&quot;, &quot;examples/passing/stack.rb&quot;, &quot;examples/passing/stack_spec.rb&quot;, &quot;examples/passing/stack_spec_with_nested_example_groups.rb&quot;, &quot;examples/passing/stubbing_example.rb&quot;, &quot;examples/passing/yielding_example.rb&quot;, &quot;init.rb&quot;, &quot;lib/autotest/discover.rb&quot;, &quot;lib/autotest/rspec.rb&quot;, &quot;lib/spec.rb&quot;, &quot;lib/spec/adapters.rb&quot;, &quot;lib/spec/adapters/ruby_engine.rb&quot;, &quot;lib/spec/adapters/ruby_engine/mri.rb&quot;, &quot;lib/spec/adapters/ruby_engine/rubinius.rb&quot;, &quot;lib/spec/dsl.rb&quot;, &quot;lib/spec/dsl/main.rb&quot;, &quot;lib/spec/example.rb&quot;, &quot;lib/spec/example/before_and_after_hooks.rb&quot;, &quot;lib/spec/example/configuration.rb&quot;, &quot;lib/spec/example/errors.rb&quot;, &quot;lib/spec/example/example_group.rb&quot;, &quot;lib/spec/example/example_group_factory.rb&quot;, &quot;lib/spec/example/example_group_methods.rb&quot;, &quot;lib/spec/example/example_matcher.rb&quot;, &quot;lib/spec/example/example_methods.rb&quot;, &quot;lib/spec/example/module_reopening_fix.rb&quot;, &quot;lib/spec/example/pending.rb&quot;, &quot;lib/spec/example/shared_example_group.rb&quot;, &quot;lib/spec/expectations.rb&quot;, &quot;lib/spec/expectations/differs/default.rb&quot;, &quot;lib/spec/expectations/errors.rb&quot;, &quot;lib/spec/expectations/extensions.rb&quot;, &quot;lib/spec/expectations/extensions/object.rb&quot;, &quot;lib/spec/expectations/extensions/string_and_symbol.rb&quot;, &quot;lib/spec/expectations/handler.rb&quot;, &quot;lib/spec/expectations/wrap_expectation.rb&quot;, &quot;lib/spec/extensions.rb&quot;, &quot;lib/spec/extensions/class.rb&quot;, &quot;lib/spec/extensions/metaclass.rb&quot;, &quot;lib/spec/interop/test.rb&quot;, &quot;lib/spec/interop/test/unit/autorunner.rb&quot;, &quot;lib/spec/interop/test/unit/testcase.rb&quot;, &quot;lib/spec/interop/test/unit/testresult.rb&quot;, &quot;lib/spec/interop/test/unit/testsuite_adapter.rb&quot;, &quot;lib/spec/interop/test/unit/ui/console/testrunner.rb&quot;, &quot;lib/spec/matchers.rb&quot;, &quot;lib/spec/matchers/be.rb&quot;, &quot;lib/spec/matchers/be_close.rb&quot;, &quot;lib/spec/matchers/change.rb&quot;, &quot;lib/spec/matchers/eql.rb&quot;, &quot;lib/spec/matchers/equal.rb&quot;, &quot;lib/spec/matchers/errors.rb&quot;, &quot;lib/spec/matchers/exist.rb&quot;, &quot;lib/spec/matchers/generated_descriptions.rb&quot;, &quot;lib/spec/matchers/has.rb&quot;, &quot;lib/spec/matchers/have.rb&quot;, &quot;lib/spec/matchers/include.rb&quot;, &quot;lib/spec/matchers/match.rb&quot;, &quot;lib/spec/matchers/method_missing.rb&quot;, &quot;lib/spec/matchers/operator_matcher.rb&quot;, &quot;lib/spec/matchers/raise_error.rb&quot;, &quot;lib/spec/matchers/respond_to.rb&quot;, &quot;lib/spec/matchers/satisfy.rb&quot;, &quot;lib/spec/matchers/simple_matcher.rb&quot;, &quot;lib/spec/matchers/throw_symbol.rb&quot;, &quot;lib/spec/mocks.rb&quot;, &quot;lib/spec/mocks/argument_constraints.rb&quot;, &quot;lib/spec/mocks/argument_expectation.rb&quot;, &quot;lib/spec/mocks/error_generator.rb&quot;, &quot;lib/spec/mocks/errors.rb&quot;, &quot;lib/spec/mocks/extensions.rb&quot;, &quot;lib/spec/mocks/extensions/object.rb&quot;, &quot;lib/spec/mocks/framework.rb&quot;, &quot;lib/spec/mocks/message_expectation.rb&quot;, &quot;lib/spec/mocks/methods.rb&quot;, &quot;lib/spec/mocks/mock.rb&quot;, &quot;lib/spec/mocks/order_group.rb&quot;, &quot;lib/spec/mocks/proxy.rb&quot;, &quot;lib/spec/mocks/space.rb&quot;, &quot;lib/spec/mocks/spec_methods.rb&quot;, &quot;lib/spec/rake/spectask.rb&quot;, &quot;lib/spec/rake/verify_rcov.rb&quot;, &quot;lib/spec/runner.rb&quot;, &quot;lib/spec/runner/backtrace_tweaker.rb&quot;, &quot;lib/spec/runner/class_and_arguments_parser.rb&quot;, &quot;lib/spec/runner/command_line.rb&quot;, &quot;lib/spec/runner/drb_command_line.rb&quot;, &quot;lib/spec/runner/example_group_runner.rb&quot;, &quot;lib/spec/runner/formatter/base_formatter.rb&quot;, &quot;lib/spec/runner/formatter/base_text_formatter.rb&quot;, &quot;lib/spec/runner/formatter/failing_example_groups_formatter.rb&quot;, &quot;lib/spec/runner/formatter/failing_examples_formatter.rb&quot;, &quot;lib/spec/runner/formatter/html_formatter.rb&quot;, &quot;lib/spec/runner/formatter/nested_text_formatter.rb&quot;, &quot;lib/spec/runner/formatter/profile_formatter.rb&quot;, &quot;lib/spec/runner/formatter/progress_bar_formatter.rb&quot;, &quot;lib/spec/runner/formatter/snippet_extractor.rb&quot;, &quot;lib/spec/runner/formatter/specdoc_formatter.rb&quot;, &quot;lib/spec/runner/formatter/story/html_formatter.rb&quot;, &quot;lib/spec/runner/formatter/story/plain_text_formatter.rb&quot;, &quot;lib/spec/runner/formatter/story/progress_bar_formatter.rb&quot;, &quot;lib/spec/runner/formatter/text_mate_formatter.rb&quot;, &quot;lib/spec/runner/heckle_runner.rb&quot;, &quot;lib/spec/runner/heckle_runner_unsupported.rb&quot;, &quot;lib/spec/runner/option_parser.rb&quot;, &quot;lib/spec/runner/options.rb&quot;, &quot;lib/spec/runner/reporter.rb&quot;, &quot;lib/spec/runner/spec_parser.rb&quot;, &quot;lib/spec/story.rb&quot;, &quot;lib/spec/story/extensions.rb&quot;, &quot;lib/spec/story/extensions/main.rb&quot;, &quot;lib/spec/story/extensions/regexp.rb&quot;, &quot;lib/spec/story/extensions/string.rb&quot;, &quot;lib/spec/story/given_scenario.rb&quot;, &quot;lib/spec/story/runner.rb&quot;, &quot;lib/spec/story/runner/plain_text_story_runner.rb&quot;, &quot;lib/spec/story/runner/scenario_collector.rb&quot;, &quot;lib/spec/story/runner/scenario_runner.rb&quot;, &quot;lib/spec/story/runner/story_mediator.rb&quot;, &quot;lib/spec/story/runner/story_parser.rb&quot;, &quot;lib/spec/story/runner/story_runner.rb&quot;, &quot;lib/spec/story/scenario.rb&quot;, &quot;lib/spec/story/step.rb&quot;, &quot;lib/spec/story/step_group.rb&quot;, &quot;lib/spec/story/step_mother.rb&quot;, &quot;lib/spec/story/story.rb&quot;, &quot;lib/spec/story/world.rb&quot;, &quot;lib/spec/version.rb&quot;, &quot;plugins/mock_frameworks/flexmock.rb&quot;, &quot;plugins/mock_frameworks/mocha.rb&quot;, &quot;plugins/mock_frameworks/rr.rb&quot;, &quot;plugins/mock_frameworks/rspec.rb&quot;, &quot;rake_tasks/examples.rake&quot;, &quot;rake_tasks/examples_with_rcov.rake&quot;, &quot;rake_tasks/failing_examples_with_html.rake&quot;, &quot;rake_tasks/verify_rcov.rake&quot;, &quot;rspec.gemspec&quot;, &quot;spec/README.jruby&quot;, &quot;spec/autotest/autotest_helper.rb&quot;, &quot;spec/autotest/autotest_matchers.rb&quot;, &quot;spec/autotest/discover_spec.rb&quot;, &quot;spec/autotest/failed_results_re_spec.rb&quot;, &quot;spec/autotest/rspec_spec.rb&quot;, &quot;spec/rspec_suite.rb&quot;, &quot;spec/ruby_forker.rb&quot;, &quot;spec/spec.opts&quot;, &quot;spec/spec/adapters/ruby_engine_spec.rb&quot;, &quot;spec/spec/dsl/main_spec.rb&quot;, &quot;spec/spec/example/configuration_spec.rb&quot;, &quot;spec/spec/example/example_group_class_definition_spec.rb&quot;, &quot;spec/spec/example/example_group_factory_spec.rb&quot;, &quot;spec/spec/example/example_group_methods_spec.rb&quot;, &quot;spec/spec/example/example_group_spec.rb&quot;, &quot;spec/spec/example/example_matcher_spec.rb&quot;, &quot;spec/spec/example/example_methods_spec.rb&quot;, &quot;spec/spec/example/example_runner_spec.rb&quot;, &quot;spec/spec/example/nested_example_group_spec.rb&quot;, &quot;spec/spec/example/pending_module_spec.rb&quot;, &quot;spec/spec/example/predicate_matcher_spec.rb&quot;, &quot;spec/spec/example/shared_example_group_spec.rb&quot;, &quot;spec/spec/example/subclassing_example_group_spec.rb&quot;, &quot;spec/spec/expectations/differs/default_spec.rb&quot;, &quot;spec/spec/expectations/extensions/object_spec.rb&quot;, &quot;spec/spec/expectations/fail_with_spec.rb&quot;, &quot;spec/spec/expectations/wrap_expectation_spec.rb&quot;, &quot;spec/spec/interop/test/unit/resources/spec_that_fails.rb&quot;, &quot;spec/spec/interop/test/unit/resources/spec_that_passes.rb&quot;, &quot;spec/spec/interop/test/unit/resources/spec_with_errors.rb&quot;, &quot;spec/spec/interop/test/unit/resources/spec_with_options_hash.rb&quot;, &quot;spec/spec/interop/test/unit/resources/test_case_that_fails.rb&quot;, &quot;spec/spec/interop/test/unit/resources/test_case_that_passes.rb&quot;, &quot;spec/spec/interop/test/unit/resources/test_case_with_errors.rb&quot;, &quot;spec/spec/interop/test/unit/resources/testsuite_adapter_spec_with_test_unit.rb&quot;, &quot;spec/spec/interop/test/unit/spec_spec.rb&quot;, &quot;spec/spec/interop/test/unit/test_unit_spec_helper.rb&quot;, &quot;spec/spec/interop/test/unit/testcase_spec.rb&quot;, &quot;spec/spec/interop/test/unit/testsuite_adapter_spec.rb&quot;, &quot;spec/spec/matchers/be_close_spec.rb&quot;, &quot;spec/spec/matchers/be_spec.rb&quot;, &quot;spec/spec/matchers/change_spec.rb&quot;, &quot;spec/spec/matchers/description_generation_spec.rb&quot;, &quot;spec/spec/matchers/eql_spec.rb&quot;, &quot;spec/spec/matchers/equal_spec.rb&quot;, &quot;spec/spec/matchers/exist_spec.rb&quot;, &quot;spec/spec/matchers/handler_spec.rb&quot;, &quot;spec/spec/matchers/has_spec.rb&quot;, &quot;spec/spec/matchers/have_spec.rb&quot;, &quot;spec/spec/matchers/include_spec.rb&quot;, &quot;spec/spec/matchers/match_spec.rb&quot;, &quot;spec/spec/matchers/matcher_methods_spec.rb&quot;, &quot;spec/spec/matchers/mock_constraint_matchers_spec.rb&quot;, &quot;spec/spec/matchers/operator_matcher_spec.rb&quot;, &quot;spec/spec/matchers/raise_error_spec.rb&quot;, &quot;spec/spec/matchers/respond_to_spec.rb&quot;, &quot;spec/spec/matchers/satisfy_spec.rb&quot;, &quot;spec/spec/matchers/simple_matcher_spec.rb&quot;, &quot;spec/spec/matchers/throw_symbol_spec.rb&quot;, &quot;spec/spec/mocks/any_number_of_times_spec.rb&quot;, &quot;spec/spec/mocks/argument_expectation_spec.rb&quot;, &quot;spec/spec/mocks/at_least_spec.rb&quot;, &quot;spec/spec/mocks/at_most_spec.rb&quot;, &quot;spec/spec/mocks/bug_report_10260_spec.rb&quot;, &quot;spec/spec/mocks/bug_report_10263_spec.rb&quot;, &quot;spec/spec/mocks/bug_report_11545_spec.rb&quot;, &quot;spec/spec/mocks/bug_report_15719_spec.rb&quot;, &quot;spec/spec/mocks/bug_report_496.rb&quot;, &quot;spec/spec/mocks/bug_report_600_spec.rb&quot;, &quot;spec/spec/mocks/bug_report_7611_spec.rb&quot;, &quot;spec/spec/mocks/bug_report_7805_spec.rb&quot;, &quot;spec/spec/mocks/bug_report_8165_spec.rb&quot;, &quot;spec/spec/mocks/bug_report_8302_spec.rb&quot;, &quot;spec/spec/mocks/failing_mock_argument_constraints_spec.rb&quot;, &quot;spec/spec/mocks/hash_including_matcher_spec.rb&quot;, &quot;spec/spec/mocks/mock_ordering_spec.rb&quot;, &quot;spec/spec/mocks/mock_space_spec.rb&quot;, &quot;spec/spec/mocks/mock_spec.rb&quot;, &quot;spec/spec/mocks/multiple_return_value_spec.rb&quot;, &quot;spec/spec/mocks/nil_expectation_warning_spec.rb&quot;, &quot;spec/spec/mocks/null_object_mock_spec.rb&quot;, &quot;spec/spec/mocks/once_counts_spec.rb&quot;, &quot;spec/spec/mocks/options_hash_spec.rb&quot;, &quot;spec/spec/mocks/partial_mock_spec.rb&quot;, &quot;spec/spec/mocks/partial_mock_using_mocks_directly_spec.rb&quot;, &quot;spec/spec/mocks/passing_mock_argument_constraints_spec.rb&quot;, &quot;spec/spec/mocks/precise_counts_spec.rb&quot;, &quot;spec/spec/mocks/record_messages_spec.rb&quot;, &quot;spec/spec/mocks/stub_spec.rb&quot;, &quot;spec/spec/mocks/twice_counts_spec.rb&quot;, &quot;spec/spec/package/bin_spec_spec.rb&quot;, &quot;spec/spec/runner/class_and_argument_parser_spec.rb&quot;, &quot;spec/spec/runner/command_line_spec.rb&quot;, &quot;spec/spec/runner/drb_command_line_spec.rb&quot;, &quot;spec/spec/runner/empty_file.txt&quot;, &quot;spec/spec/runner/examples.txt&quot;, &quot;spec/spec/runner/failed.txt&quot;, &quot;spec/spec/runner/formatter/base_formatter_spec.rb&quot;, &quot;spec/spec/runner/formatter/failing_example_groups_formatter_spec.rb&quot;, &quot;spec/spec/runner/formatter/failing_examples_formatter_spec.rb&quot;, &quot;spec/spec/runner/formatter/html_formatted-1.8.4.html&quot;, &quot;spec/spec/runner/formatter/html_formatted-1.8.5-jruby.html&quot;, &quot;spec/spec/runner/formatter/html_formatted-1.8.5.html&quot;, &quot;spec/spec/runner/formatter/html_formatted-1.8.6-jruby.html&quot;, &quot;spec/spec/runner/formatter/html_formatted-1.8.6.html&quot;, &quot;spec/spec/runner/formatter/html_formatter_spec.rb&quot;, &quot;spec/spec/runner/formatter/nested_text_formatter_spec.rb&quot;, &quot;spec/spec/runner/formatter/profile_formatter_spec.rb&quot;, &quot;spec/spec/runner/formatter/progress_bar_formatter_spec.rb&quot;, &quot;spec/spec/runner/formatter/snippet_extractor_spec.rb&quot;, &quot;spec/spec/runner/formatter/spec_mate_formatter_spec.rb&quot;, &quot;spec/spec/runner/formatter/specdoc_formatter_spec.rb&quot;, &quot;spec/spec/runner/formatter/story/html_formatter_spec.rb&quot;, &quot;spec/spec/runner/formatter/story/plain_text_formatter_spec.rb&quot;, &quot;spec/spec/runner/formatter/story/progress_bar_formatter_spec.rb&quot;, &quot;spec/spec/runner/formatter/text_mate_formatted-1.8.4.html&quot;, &quot;spec/spec/runner/formatter/text_mate_formatted-1.8.6.html&quot;, &quot;spec/spec/runner/heckle_runner_spec.rb&quot;, &quot;spec/spec/runner/heckler_spec.rb&quot;, &quot;spec/spec/runner/noisy_backtrace_tweaker_spec.rb&quot;, &quot;spec/spec/runner/option_parser_spec.rb&quot;, &quot;spec/spec/runner/options_spec.rb&quot;, &quot;spec/spec/runner/output_one_time_fixture.rb&quot;, &quot;spec/spec/runner/output_one_time_fixture_runner.rb&quot;, &quot;spec/spec/runner/output_one_time_spec.rb&quot;, &quot;spec/spec/runner/quiet_backtrace_tweaker_spec.rb&quot;, &quot;spec/spec/runner/reporter_spec.rb&quot;, &quot;spec/spec/runner/resources/a_bar.rb&quot;, &quot;spec/spec/runner/resources/a_foo.rb&quot;, &quot;spec/spec/runner/resources/a_spec.rb&quot;, &quot;spec/spec/runner/spec.opts&quot;, &quot;spec/spec/runner/spec_drb.opts&quot;, &quot;spec/spec/runner/spec_parser/spec_parser_fixture.rb&quot;, &quot;spec/spec/runner/spec_parser_spec.rb&quot;, &quot;spec/spec/runner/spec_spaced.opts&quot;, &quot;spec/spec/runner_spec.rb&quot;, &quot;spec/spec/spec_classes.rb&quot;, &quot;spec/spec/story/builders.rb&quot;, &quot;spec/spec/story/extensions/main_spec.rb&quot;, &quot;spec/spec/story/extensions_spec.rb&quot;, &quot;spec/spec/story/given_scenario_spec.rb&quot;, &quot;spec/spec/story/runner/plain_text_story_runner_spec.rb&quot;, &quot;spec/spec/story/runner/scenario_collector_spec.rb&quot;, &quot;spec/spec/story/runner/scenario_runner_spec.rb&quot;, &quot;spec/spec/story/runner/story_mediator_spec.rb&quot;, &quot;spec/spec/story/runner/story_parser_spec.rb&quot;, &quot;spec/spec/story/runner/story_runner_spec.rb&quot;, &quot;spec/spec/story/runner_spec.rb&quot;, &quot;spec/spec/story/scenario_spec.rb&quot;, &quot;spec/spec/story/step_group_spec.rb&quot;, &quot;spec/spec/story/step_mother_spec.rb&quot;, &quot;spec/spec/story/step_spec.rb&quot;, &quot;spec/spec/story/story_helper.rb&quot;, &quot;spec/spec/story/story_spec.rb&quot;, &quot;spec/spec/story/world_spec.rb&quot;, &quot;spec/spec_helper.rb&quot;, &quot;stories/all.rb&quot;, &quot;stories/configuration/before_blocks.story&quot;, &quot;stories/configuration/stories.rb&quot;, &quot;stories/example_groups/autogenerated_docstrings&quot;, &quot;stories/example_groups/example_group_with_should_methods&quot;, &quot;stories/example_groups/nested_groups&quot;, &quot;stories/example_groups/output&quot;, &quot;stories/example_groups/stories.rb&quot;, &quot;stories/helper.rb&quot;, &quot;stories/interop/examples_and_tests_together&quot;, &quot;stories/interop/stories.rb&quot;, &quot;stories/interop/test_but_not_test_unit&quot;, &quot;stories/interop/test_case_with_should_methods&quot;, &quot;stories/mock_framework_integration/stories.rb&quot;, &quot;stories/mock_framework_integration/use_flexmock.story&quot;, &quot;stories/pending_stories/README&quot;, &quot;stories/resources/helpers/cmdline.rb&quot;, &quot;stories/resources/helpers/story_helper.rb&quot;, &quot;stories/resources/matchers/smart_match.rb&quot;, &quot;stories/resources/spec/before_blocks_example.rb&quot;, &quot;stories/resources/spec/example_group_with_should_methods.rb&quot;, &quot;stories/resources/spec/simple_spec.rb&quot;, &quot;stories/resources/spec/spec_with_flexmock.rb&quot;, &quot;stories/resources/steps/running_rspec.rb&quot;, &quot;stories/resources/stories/failing_story.rb&quot;, &quot;stories/resources/test/spec_and_test_together.rb&quot;, &quot;stories/resources/test/spec_including_test_but_not_unit.rb&quot;, &quot;stories/resources/test/test_case_with_should_methods.rb&quot;, &quot;stories/stories/multiline_steps.story&quot;, &quot;stories/stories/steps/multiline_steps.rb&quot;, &quot;stories/stories/stories.rb&quot;, &quot;story_server/prototype/javascripts/builder.js&quot;, &quot;story_server/prototype/javascripts/controls.js&quot;, &quot;story_server/prototype/javascripts/dragdrop.js&quot;, &quot;story_server/prototype/javascripts/effects.js&quot;, &quot;story_server/prototype/javascripts/prototype.js&quot;, &quot;story_server/prototype/javascripts/rspec.js&quot;, &quot;story_server/prototype/javascripts/scriptaculous.js&quot;, &quot;story_server/prototype/javascripts/slider.js&quot;, &quot;story_server/prototype/javascripts/sound.js&quot;, &quot;story_server/prototype/javascripts/unittest.js&quot;, &quot;story_server/prototype/lib/server.rb&quot;, &quot;story_server/prototype/stories.html&quot;, &quot;story_server/prototype/stylesheets/rspec.css&quot;, &quot;story_server/prototype/stylesheets/test.css&quot;]
+  s.files = [&quot;.autotest&quot;, &quot;History.txt&quot;, &quot;License.txt&quot;, &quot;Manifest.txt&quot;, &quot;README.txt&quot;, &quot;Rakefile&quot;, &quot;TODO.txt&quot;, &quot;bin/autospec&quot;, &quot;bin/spec&quot;, &quot;examples/failing/README.txt&quot;, &quot;examples/failing/diffing_spec.rb&quot;, &quot;examples/failing/failing_autogenerated_docstrings_example.rb&quot;, &quot;examples/failing/failure_in_setup.rb&quot;, &quot;examples/failing/failure_in_teardown.rb&quot;, &quot;examples/failing/mocking_example.rb&quot;, &quot;examples/failing/mocking_with_flexmock.rb&quot;, &quot;examples/failing/mocking_with_mocha.rb&quot;, &quot;examples/failing/mocking_with_rr.rb&quot;, &quot;examples/failing/partial_mock_example.rb&quot;, &quot;examples/failing/predicate_example.rb&quot;, &quot;examples/failing/raising_example.rb&quot;, &quot;examples/failing/spec_helper.rb&quot;, &quot;examples/failing/syntax_error_example.rb&quot;, &quot;examples/failing/team_spec.rb&quot;, &quot;examples/failing/timeout_behaviour.rb&quot;, &quot;examples/passing/autogenerated_docstrings_example.rb&quot;, &quot;examples/passing/before_and_after_example.rb&quot;, &quot;examples/passing/behave_as_example.rb&quot;, &quot;examples/passing/custom_expectation_matchers.rb&quot;, &quot;examples/passing/custom_formatter.rb&quot;, &quot;examples/passing/dynamic_spec.rb&quot;, &quot;examples/passing/file_accessor.rb&quot;, &quot;examples/passing/file_accessor_spec.rb&quot;, &quot;examples/passing/greeter_spec.rb&quot;, &quot;examples/passing/helper_method_example.rb&quot;, &quot;examples/passing/io_processor.rb&quot;, &quot;examples/passing/io_processor_spec.rb&quot;, &quot;examples/passing/legacy_spec.rb&quot;, &quot;examples/passing/mocking_example.rb&quot;, &quot;examples/passing/multi_threaded_behaviour_runner.rb&quot;, &quot;examples/passing/nested_classes_example.rb&quot;, &quot;examples/passing/partial_mock_example.rb&quot;, &quot;examples/passing/pending_example.rb&quot;, &quot;examples/passing/predicate_example.rb&quot;, &quot;examples/passing/priority.txt&quot;, &quot;examples/passing/shared_example_group_example.rb&quot;, &quot;examples/passing/shared_stack_examples.rb&quot;, &quot;examples/passing/simple_matcher_example.rb&quot;, &quot;examples/passing/spec_helper.rb&quot;, &quot;examples/passing/stack.rb&quot;, &quot;examples/passing/stack_spec.rb&quot;, &quot;examples/passing/stack_spec_with_nested_example_groups.rb&quot;, &quot;examples/passing/stubbing_example.rb&quot;, &quot;examples/passing/yielding_example.rb&quot;, &quot;init.rb&quot;, &quot;lib/autotest/discover.rb&quot;, &quot;lib/autotest/rspec.rb&quot;, &quot;lib/spec.rb&quot;, &quot;lib/spec/adapters.rb&quot;, &quot;lib/spec/adapters/ruby_engine.rb&quot;, &quot;lib/spec/adapters/ruby_engine/mri.rb&quot;, &quot;lib/spec/adapters/ruby_engine/rubinius.rb&quot;, &quot;lib/spec/dsl.rb&quot;, &quot;lib/spec/dsl/main.rb&quot;, &quot;lib/spec/example.rb&quot;, &quot;lib/spec/example/before_and_after_hooks.rb&quot;, &quot;lib/spec/example/configuration.rb&quot;, &quot;lib/spec/example/errors.rb&quot;, &quot;lib/spec/example/example_group.rb&quot;, &quot;lib/spec/example/example_group_factory.rb&quot;, &quot;lib/spec/example/example_group_methods.rb&quot;, &quot;lib/spec/example/example_matcher.rb&quot;, &quot;lib/spec/example/example_methods.rb&quot;, &quot;lib/spec/example/module_reopening_fix.rb&quot;, &quot;lib/spec/example/pending.rb&quot;, &quot;lib/spec/example/shared_example_group.rb&quot;, &quot;lib/spec/expectations.rb&quot;, &quot;lib/spec/expectations/differs/default.rb&quot;, &quot;lib/spec/expectations/errors.rb&quot;, &quot;lib/spec/expectations/extensions.rb&quot;, &quot;lib/spec/expectations/extensions/object.rb&quot;, &quot;lib/spec/expectations/extensions/string_and_symbol.rb&quot;, &quot;lib/spec/expectations/handler.rb&quot;, &quot;lib/spec/expectations/wrap_expectation.rb&quot;, &quot;lib/spec/extensions.rb&quot;, &quot;lib/spec/extensions/class.rb&quot;, &quot;lib/spec/interop/test.rb&quot;, &quot;lib/spec/interop/test/unit/autorunner.rb&quot;, &quot;lib/spec/interop/test/unit/testcase.rb&quot;, &quot;lib/spec/interop/test/unit/testresult.rb&quot;, &quot;lib/spec/interop/test/unit/testsuite_adapter.rb&quot;, &quot;lib/spec/interop/test/unit/ui/console/testrunner.rb&quot;, &quot;lib/spec/matchers.rb&quot;, &quot;lib/spec/matchers/be.rb&quot;, &quot;lib/spec/matchers/be_close.rb&quot;, &quot;lib/spec/matchers/change.rb&quot;, &quot;lib/spec/matchers/eql.rb&quot;, &quot;lib/spec/matchers/equal.rb&quot;, &quot;lib/spec/matchers/errors.rb&quot;, &quot;lib/spec/matchers/exist.rb&quot;, &quot;lib/spec/matchers/generated_descriptions.rb&quot;, &quot;lib/spec/matchers/has.rb&quot;, &quot;lib/spec/matchers/have.rb&quot;, &quot;lib/spec/matchers/include.rb&quot;, &quot;lib/spec/matchers/match.rb&quot;, &quot;lib/spec/matchers/method_missing.rb&quot;, &quot;lib/spec/matchers/operator_matcher.rb&quot;, &quot;lib/spec/matchers/raise_error.rb&quot;, &quot;lib/spec/matchers/respond_to.rb&quot;, &quot;lib/spec/matchers/satisfy.rb&quot;, &quot;lib/spec/matchers/simple_matcher.rb&quot;, &quot;lib/spec/matchers/throw_symbol.rb&quot;, &quot;lib/spec/mocks.rb&quot;, &quot;lib/spec/mocks/argument_constraints.rb&quot;, &quot;lib/spec/mocks/argument_expectation.rb&quot;, &quot;lib/spec/mocks/error_generator.rb&quot;, &quot;lib/spec/mocks/errors.rb&quot;, &quot;lib/spec/mocks/extensions.rb&quot;, &quot;lib/spec/mocks/extensions/object.rb&quot;, &quot;lib/spec/mocks/framework.rb&quot;, &quot;lib/spec/mocks/message_expectation.rb&quot;, &quot;lib/spec/mocks/methods.rb&quot;, &quot;lib/spec/mocks/mock.rb&quot;, &quot;lib/spec/mocks/order_group.rb&quot;, &quot;lib/spec/mocks/proxy.rb&quot;, &quot;lib/spec/mocks/space.rb&quot;, &quot;lib/spec/mocks/spec_methods.rb&quot;, &quot;lib/spec/rake/spectask.rb&quot;, &quot;lib/spec/rake/verify_rcov.rb&quot;, &quot;lib/spec/runner.rb&quot;, &quot;lib/spec/runner/backtrace_tweaker.rb&quot;, &quot;lib/spec/runner/class_and_arguments_parser.rb&quot;, &quot;lib/spec/runner/command_line.rb&quot;, &quot;lib/spec/runner/drb_command_line.rb&quot;, &quot;lib/spec/runner/example_group_runner.rb&quot;, &quot;lib/spec/runner/formatter/base_formatter.rb&quot;, &quot;lib/spec/runner/formatter/base_text_formatter.rb&quot;, &quot;lib/spec/runner/formatter/failing_example_groups_formatter.rb&quot;, &quot;lib/spec/runner/formatter/failing_examples_formatter.rb&quot;, &quot;lib/spec/runner/formatter/html_formatter.rb&quot;, &quot;lib/spec/runner/formatter/nested_text_formatter.rb&quot;, &quot;lib/spec/runner/formatter/profile_formatter.rb&quot;, &quot;lib/spec/runner/formatter/progress_bar_formatter.rb&quot;, &quot;lib/spec/runner/formatter/snippet_extractor.rb&quot;, &quot;lib/spec/runner/formatter/specdoc_formatter.rb&quot;, &quot;lib/spec/runner/formatter/story/html_formatter.rb&quot;, &quot;lib/spec/runner/formatter/story/plain_text_formatter.rb&quot;, &quot;lib/spec/runner/formatter/story/progress_bar_formatter.rb&quot;, &quot;lib/spec/runner/formatter/text_mate_formatter.rb&quot;, &quot;lib/spec/runner/heckle_runner.rb&quot;, &quot;lib/spec/runner/heckle_runner_unsupported.rb&quot;, &quot;lib/spec/runner/option_parser.rb&quot;, &quot;lib/spec/runner/options.rb&quot;, &quot;lib/spec/runner/reporter.rb&quot;, &quot;lib/spec/runner/spec_parser.rb&quot;, &quot;lib/spec/story.rb&quot;, &quot;lib/spec/story/extensions.rb&quot;, &quot;lib/spec/story/extensions/main.rb&quot;, &quot;lib/spec/story/extensions/regexp.rb&quot;, &quot;lib/spec/story/extensions/string.rb&quot;, &quot;lib/spec/story/given_scenario.rb&quot;, &quot;lib/spec/story/runner.rb&quot;, &quot;lib/spec/story/runner/plain_text_story_runner.rb&quot;, &quot;lib/spec/story/runner/scenario_collector.rb&quot;, &quot;lib/spec/story/runner/scenario_runner.rb&quot;, &quot;lib/spec/story/runner/story_mediator.rb&quot;, &quot;lib/spec/story/runner/story_parser.rb&quot;, &quot;lib/spec/story/runner/story_runner.rb&quot;, &quot;lib/spec/story/scenario.rb&quot;, &quot;lib/spec/story/step.rb&quot;, &quot;lib/spec/story/step_group.rb&quot;, &quot;lib/spec/story/step_mother.rb&quot;, &quot;lib/spec/story/story.rb&quot;, &quot;lib/spec/story/world.rb&quot;, &quot;lib/spec/version.rb&quot;, &quot;plugins/mock_frameworks/flexmock.rb&quot;, &quot;plugins/mock_frameworks/mocha.rb&quot;, &quot;plugins/mock_frameworks/rr.rb&quot;, &quot;plugins/mock_frameworks/rspec.rb&quot;, &quot;rake_tasks/examples.rake&quot;, &quot;rake_tasks/examples_with_rcov.rake&quot;, &quot;rake_tasks/failing_examples_with_html.rake&quot;, &quot;rake_tasks/verify_rcov.rake&quot;, &quot;rspec.gemspec&quot;, &quot;spec/README.jruby&quot;, &quot;spec/autotest/autotest_helper.rb&quot;, &quot;spec/autotest/autotest_matchers.rb&quot;, &quot;spec/autotest/discover_spec.rb&quot;, &quot;spec/autotest/failed_results_re_spec.rb&quot;, &quot;spec/autotest/rspec_spec.rb&quot;, &quot;spec/rspec_suite.rb&quot;, &quot;spec/ruby_forker.rb&quot;, &quot;spec/spec.opts&quot;, &quot;spec/spec/adapters/ruby_engine_spec.rb&quot;, &quot;spec/spec/dsl/main_spec.rb&quot;, &quot;spec/spec/example/configuration_spec.rb&quot;, &quot;spec/spec/example/example_group_class_definition_spec.rb&quot;, &quot;spec/spec/example/example_group_factory_spec.rb&quot;, &quot;spec/spec/example/example_group_methods_spec.rb&quot;, &quot;spec/spec/example/example_group_spec.rb&quot;, &quot;spec/spec/example/example_matcher_spec.rb&quot;, &quot;spec/spec/example/example_methods_spec.rb&quot;, &quot;spec/spec/example/example_runner_spec.rb&quot;, &quot;spec/spec/example/nested_example_group_spec.rb&quot;, &quot;spec/spec/example/pending_module_spec.rb&quot;, &quot;spec/spec/example/predicate_matcher_spec.rb&quot;, &quot;spec/spec/example/shared_example_group_spec.rb&quot;, &quot;spec/spec/example/subclassing_example_group_spec.rb&quot;, &quot;spec/spec/expectations/differs/default_spec.rb&quot;, &quot;spec/spec/expectations/extensions/object_spec.rb&quot;, &quot;spec/spec/expectations/fail_with_spec.rb&quot;, &quot;spec/spec/expectations/wrap_expectation_spec.rb&quot;, &quot;spec/spec/interop/test/unit/resources/spec_that_fails.rb&quot;, &quot;spec/spec/interop/test/unit/resources/spec_that_passes.rb&quot;, &quot;spec/spec/interop/test/unit/resources/spec_with_errors.rb&quot;, &quot;spec/spec/interop/test/unit/resources/spec_with_options_hash.rb&quot;, &quot;spec/spec/interop/test/unit/resources/test_case_that_fails.rb&quot;, &quot;spec/spec/interop/test/unit/resources/test_case_that_passes.rb&quot;, &quot;spec/spec/interop/test/unit/resources/test_case_with_errors.rb&quot;, &quot;spec/spec/interop/test/unit/resources/testsuite_adapter_spec_with_test_unit.rb&quot;, &quot;spec/spec/interop/test/unit/spec_spec.rb&quot;, &quot;spec/spec/interop/test/unit/test_unit_spec_helper.rb&quot;, &quot;spec/spec/interop/test/unit/testcase_spec.rb&quot;, &quot;spec/spec/interop/test/unit/testsuite_adapter_spec.rb&quot;, &quot;spec/spec/matchers/be_close_spec.rb&quot;, &quot;spec/spec/matchers/be_spec.rb&quot;, &quot;spec/spec/matchers/change_spec.rb&quot;, &quot;spec/spec/matchers/description_generation_spec.rb&quot;, &quot;spec/spec/matchers/eql_spec.rb&quot;, &quot;spec/spec/matchers/equal_spec.rb&quot;, &quot;spec/spec/matchers/exist_spec.rb&quot;, &quot;spec/spec/matchers/handler_spec.rb&quot;, &quot;spec/spec/matchers/has_spec.rb&quot;, &quot;spec/spec/matchers/have_spec.rb&quot;, &quot;spec/spec/matchers/include_spec.rb&quot;, &quot;spec/spec/matchers/match_spec.rb&quot;, &quot;spec/spec/matchers/matcher_methods_spec.rb&quot;, &quot;spec/spec/matchers/mock_constraint_matchers_spec.rb&quot;, &quot;spec/spec/matchers/operator_matcher_spec.rb&quot;, &quot;spec/spec/matchers/raise_error_spec.rb&quot;, &quot;spec/spec/matchers/respond_to_spec.rb&quot;, &quot;spec/spec/matchers/satisfy_spec.rb&quot;, &quot;spec/spec/matchers/simple_matcher_spec.rb&quot;, &quot;spec/spec/matchers/throw_symbol_spec.rb&quot;, &quot;spec/spec/mocks/any_number_of_times_spec.rb&quot;, &quot;spec/spec/mocks/argument_expectation_spec.rb&quot;, &quot;spec/spec/mocks/at_least_spec.rb&quot;, &quot;spec/spec/mocks/at_most_spec.rb&quot;, &quot;spec/spec/mocks/bug_report_10260_spec.rb&quot;, &quot;spec/spec/mocks/bug_report_10263_spec.rb&quot;, &quot;spec/spec/mocks/bug_report_11545_spec.rb&quot;, &quot;spec/spec/mocks/bug_report_15719_spec.rb&quot;, &quot;spec/spec/mocks/bug_report_496.rb&quot;, &quot;spec/spec/mocks/bug_report_600_spec.rb&quot;, &quot;spec/spec/mocks/bug_report_7611_spec.rb&quot;, &quot;spec/spec/mocks/bug_report_7805_spec.rb&quot;, &quot;spec/spec/mocks/bug_report_8165_spec.rb&quot;, &quot;spec/spec/mocks/bug_report_8302_spec.rb&quot;, &quot;spec/spec/mocks/failing_mock_argument_constraints_spec.rb&quot;, &quot;spec/spec/mocks/hash_including_matcher_spec.rb&quot;, &quot;spec/spec/mocks/mock_ordering_spec.rb&quot;, &quot;spec/spec/mocks/mock_space_spec.rb&quot;, &quot;spec/spec/mocks/mock_spec.rb&quot;, &quot;spec/spec/mocks/multiple_return_value_spec.rb&quot;, &quot;spec/spec/mocks/nil_expectation_warning_spec.rb&quot;, &quot;spec/spec/mocks/null_object_mock_spec.rb&quot;, &quot;spec/spec/mocks/once_counts_spec.rb&quot;, &quot;spec/spec/mocks/options_hash_spec.rb&quot;, &quot;spec/spec/mocks/partial_mock_spec.rb&quot;, &quot;spec/spec/mocks/partial_mock_using_mocks_directly_spec.rb&quot;, &quot;spec/spec/mocks/passing_mock_argument_constraints_spec.rb&quot;, &quot;spec/spec/mocks/precise_counts_spec.rb&quot;, &quot;spec/spec/mocks/record_messages_spec.rb&quot;, &quot;spec/spec/mocks/stub_spec.rb&quot;, &quot;spec/spec/mocks/twice_counts_spec.rb&quot;, &quot;spec/spec/package/bin_spec_spec.rb&quot;, &quot;spec/spec/runner/class_and_argument_parser_spec.rb&quot;, &quot;spec/spec/runner/command_line_spec.rb&quot;, &quot;spec/spec/runner/drb_command_line_spec.rb&quot;, &quot;spec/spec/runner/empty_file.txt&quot;, &quot;spec/spec/runner/examples.txt&quot;, &quot;spec/spec/runner/failed.txt&quot;, &quot;spec/spec/runner/formatter/base_formatter_spec.rb&quot;, &quot;spec/spec/runner/formatter/failing_example_groups_formatter_spec.rb&quot;, &quot;spec/spec/runner/formatter/failing_examples_formatter_spec.rb&quot;, &quot;spec/spec/runner/formatter/html_formatted-1.8.4.html&quot;, &quot;spec/spec/runner/formatter/html_formatted-1.8.5-jruby.html&quot;, &quot;spec/spec/runner/formatter/html_formatted-1.8.5.html&quot;, &quot;spec/spec/runner/formatter/html_formatted-1.8.6-jruby.html&quot;, &quot;spec/spec/runner/formatter/html_formatted-1.8.6.html&quot;, &quot;spec/spec/runner/formatter/html_formatter_spec.rb&quot;, &quot;spec/spec/runner/formatter/nested_text_formatter_spec.rb&quot;, &quot;spec/spec/runner/formatter/profile_formatter_spec.rb&quot;, &quot;spec/spec/runner/formatter/progress_bar_formatter_spec.rb&quot;, &quot;spec/spec/runner/formatter/snippet_extractor_spec.rb&quot;, &quot;spec/spec/runner/formatter/spec_mate_formatter_spec.rb&quot;, &quot;spec/spec/runner/formatter/specdoc_formatter_spec.rb&quot;, &quot;spec/spec/runner/formatter/story/html_formatter_spec.rb&quot;, &quot;spec/spec/runner/formatter/story/plain_text_formatter_spec.rb&quot;, &quot;spec/spec/runner/formatter/story/progress_bar_formatter_spec.rb&quot;, &quot;spec/spec/runner/formatter/text_mate_formatted-1.8.4.html&quot;, &quot;spec/spec/runner/formatter/text_mate_formatted-1.8.6.html&quot;, &quot;spec/spec/runner/heckle_runner_spec.rb&quot;, &quot;spec/spec/runner/heckler_spec.rb&quot;, &quot;spec/spec/runner/noisy_backtrace_tweaker_spec.rb&quot;, &quot;spec/spec/runner/option_parser_spec.rb&quot;, &quot;spec/spec/runner/options_spec.rb&quot;, &quot;spec/spec/runner/output_one_time_fixture.rb&quot;, &quot;spec/spec/runner/output_one_time_fixture_runner.rb&quot;, &quot;spec/spec/runner/output_one_time_spec.rb&quot;, &quot;spec/spec/runner/quiet_backtrace_tweaker_spec.rb&quot;, &quot;spec/spec/runner/reporter_spec.rb&quot;, &quot;spec/spec/runner/resources/a_bar.rb&quot;, &quot;spec/spec/runner/resources/a_foo.rb&quot;, &quot;spec/spec/runner/resources/a_spec.rb&quot;, &quot;spec/spec/runner/spec.opts&quot;, &quot;spec/spec/runner/spec_drb.opts&quot;, &quot;spec/spec/runner/spec_parser/spec_parser_fixture.rb&quot;, &quot;spec/spec/runner/spec_parser_spec.rb&quot;, &quot;spec/spec/runner/spec_spaced.opts&quot;, &quot;spec/spec/runner_spec.rb&quot;, &quot;spec/spec/spec_classes.rb&quot;, &quot;spec/spec/story/builders.rb&quot;, &quot;spec/spec/story/extensions/main_spec.rb&quot;, &quot;spec/spec/story/extensions_spec.rb&quot;, &quot;spec/spec/story/given_scenario_spec.rb&quot;, &quot;spec/spec/story/runner/plain_text_story_runner_spec.rb&quot;, &quot;spec/spec/story/runner/scenario_collector_spec.rb&quot;, &quot;spec/spec/story/runner/scenario_runner_spec.rb&quot;, &quot;spec/spec/story/runner/story_mediator_spec.rb&quot;, &quot;spec/spec/story/runner/story_parser_spec.rb&quot;, &quot;spec/spec/story/runner/story_runner_spec.rb&quot;, &quot;spec/spec/story/runner_spec.rb&quot;, &quot;spec/spec/story/scenario_spec.rb&quot;, &quot;spec/spec/story/step_group_spec.rb&quot;, &quot;spec/spec/story/step_mother_spec.rb&quot;, &quot;spec/spec/story/step_spec.rb&quot;, &quot;spec/spec/story/story_helper.rb&quot;, &quot;spec/spec/story/story_spec.rb&quot;, &quot;spec/spec/story/world_spec.rb&quot;, &quot;spec/spec_helper.rb&quot;, &quot;stories/all.rb&quot;, &quot;stories/configuration/before_blocks.story&quot;, &quot;stories/configuration/stories.rb&quot;, &quot;stories/example_groups/autogenerated_docstrings&quot;, &quot;stories/example_groups/example_group_with_should_methods&quot;, &quot;stories/example_groups/nested_groups&quot;, &quot;stories/example_groups/output&quot;, &quot;stories/example_groups/stories.rb&quot;, &quot;stories/helper.rb&quot;, &quot;stories/interop/examples_and_tests_together&quot;, &quot;stories/interop/stories.rb&quot;, &quot;stories/interop/test_but_not_test_unit&quot;, &quot;stories/interop/test_case_with_should_methods&quot;, &quot;stories/mock_framework_integration/stories.rb&quot;, &quot;stories/mock_framework_integration/use_flexmock.story&quot;, &quot;stories/pending_stories/README&quot;, &quot;stories/resources/helpers/cmdline.rb&quot;, &quot;stories/resources/helpers/story_helper.rb&quot;, &quot;stories/resources/matchers/smart_match.rb&quot;, &quot;stories/resources/spec/before_blocks_example.rb&quot;, &quot;stories/resources/spec/example_group_with_should_methods.rb&quot;, &quot;stories/resources/spec/simple_spec.rb&quot;, &quot;stories/resources/spec/spec_with_flexmock.rb&quot;, &quot;stories/resources/steps/running_rspec.rb&quot;, &quot;stories/resources/stories/failing_story.rb&quot;, &quot;stories/resources/test/spec_and_test_together.rb&quot;, &quot;stories/resources/test/spec_including_test_but_not_unit.rb&quot;, &quot;stories/resources/test/test_case_with_should_methods.rb&quot;, &quot;stories/stories/multiline_steps.story&quot;, &quot;stories/stories/steps/multiline_steps.rb&quot;, &quot;stories/stories/stories.rb&quot;, &quot;story_server/prototype/javascripts/builder.js&quot;, &quot;story_server/prototype/javascripts/controls.js&quot;, &quot;story_server/prototype/javascripts/dragdrop.js&quot;, &quot;story_server/prototype/javascripts/effects.js&quot;, &quot;story_server/prototype/javascripts/prototype.js&quot;, &quot;story_server/prototype/javascripts/rspec.js&quot;, &quot;story_server/prototype/javascripts/scriptaculous.js&quot;, &quot;story_server/prototype/javascripts/slider.js&quot;, &quot;story_server/prototype/javascripts/sound.js&quot;, &quot;story_server/prototype/javascripts/unittest.js&quot;, &quot;story_server/prototype/lib/server.rb&quot;, &quot;story_server/prototype/stories.html&quot;, &quot;story_server/prototype/stylesheets/rspec.css&quot;, &quot;story_server/prototype/stylesheets/test.css&quot;]
   s.has_rdoc = true
   s.homepage = %q{http://rspec.info/}
   s.rdoc_options = [&quot;--main&quot;, &quot;README.txt&quot;]</diff>
      <filename>rspec.gemspec</filename>
    </modified>
    <modified>
      <diff>@@ -32,12 +32,10 @@ module Spec
       end
     
       describe &quot;#share_as&quot; do
-        class &lt;&lt; self
-          def next_group_name
-            @group_number ||= 0
-            @group_number += 1
-            &quot;Group#{@group_number}&quot;
-          end
+        def self.next_group_name
+          @group_number ||= 0
+          @group_number += 1
+          &quot;Group#{@group_number}&quot;
         end
         
         def group_name</diff>
      <filename>spec/spec/dsl/main_spec.rb</filename>
    </modified>
    <modified>
      <diff>@@ -3,8 +3,12 @@ require File.dirname(__FILE__) + '/../../spec_helper'
 module Spec
   module Example
     class ExampleGroupSubclass &lt; ExampleGroup
-      class &lt;&lt; self
-        attr_accessor :examples_ran
+      def self.examples_ran
+        @examples_ran
+      end
+
+      def self.examples_ran=(examples_ran)
+        @examples_ran = examples_ran
       end
 
       @@class_variable = :class_variable</diff>
      <filename>spec/spec/example/example_group_class_definition_spec.rb</filename>
    </modified>
    <modified>
      <diff>@@ -426,14 +426,13 @@ module Spec
           it &quot;should have accessible class methods from included module&quot; do
             mod_method_called = false
             mod = Module.new do
-              extend Spec::MetaClass
               class_methods = Module.new do
                 define_method :mod_method do
                   mod_method_called = true
                 end
               end
 
-              metaclass.class_eval do
+              self.class.class_eval do
                 define_method(:included) do |receiver|
                   receiver.extend class_methods
                 end
@@ -516,13 +515,11 @@ module Spec
           it &quot;should call new and matches? on the class used for matching examples&quot; do 
             example_group = Class.new(ExampleGroup) do
               it &quot;should do something&quot; do end
-              class &lt;&lt; self
-                def specified_examples
-                  [&quot;something&quot;]
-                end
-                def to_s
-                  &quot;TestMatcher&quot;
-                end
+              def self.specified_examples
+                [&quot;something&quot;]
+              end
+              def self.to_s
+                &quot;TestMatcher&quot;
               end
             end
 </diff>
      <filename>spec/spec/example/example_group_methods_spec.rb</filename>
    </modified>
    <modified>
      <diff>@@ -449,10 +449,8 @@ module Spec
 
           it &quot;should use a mock framework set up in config&quot; do
             mod = Module.new do
-              class &lt;&lt; self
-                def included(mod)
-                  $included_module = mod
-                end
+              def self.included(mod)
+                $included_module = mod
               end
 
               def teardown_mocks_for_rspec</diff>
      <filename>spec/spec/example/example_group_spec.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,8 +1,6 @@
 require File.dirname(__FILE__) + '/../../spec_helper.rb'
 
 class LiarLiarPantsOnFire
-  include Spec::MetaClass
-  extend Spec::MetaClass
   def respond_to?(sym, incl_private=false)
     true
   end
@@ -28,7 +26,7 @@ describe 'should_receive' do
   end
   
   it 'should cleanup after itself' do
-    LiarLiarPantsOnFire.metaclass.instance_methods.should_not include(&quot;something&quot;)
+    (class &lt;&lt; LiarLiarPantsOnFire; self; end).instance_methods.should_not include(&quot;something&quot;)
   end
 end
 </diff>
      <filename>spec/spec/mocks/bug_report_11545_spec.rb</filename>
    </modified>
  </modified>
  <removed type="array">
    <removed>
      <filename>lib/spec/extensions/metaclass.rb</filename>
    </removed>
  </removed>
  <parents type="array">
    <parent>
      <id>c209010c73d4434dc9f2847fda92a676aafe4de9</id>
    </parent>
  </parents>
  <author>
    <name>David Chelimsky</name>
    <email>dchelimsky@gmail.com</email>
  </author>
  <url>http://github.com/ianwhite/rspec/commit/9e2eb702f60227d662dce1cd22192c013bed1e72</url>
  <id>9e2eb702f60227d662dce1cd22192c013bed1e72</id>
  <committed-date>2008-11-26T02:05:21-08:00</committed-date>
  <authored-date>2008-11-26T02:05:21-08:00</authored-date>
  <message>removed all instances of class &lt;&lt; self</message>
  <tree>56358de4bbb910db251253bc5728a24fa04de9ad</tree>
  <committer>
    <name>David Chelimsky</name>
    <email>dchelimsky@gmail.com</email>
  </committer>
</commit>
