<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array"/>
  <modified type="array">
    <modified>
      <diff>@@ -1,10 +1,18 @@
+== Refactoring
+
+Refactoring for 1.2.0
+
+* eliminate dependency from Spec::Example to Spec::Runner
+** global predictate matchers should be stored in run_options
+* eliminate dependency on global options and configuration
+** the only place they should exist is in the Runner, which should manage them
+
 == Future
 
 * do SOMETHING with the website
 * extract spec/story to rspec-stories (new gem)
-* remove the ruby engine adapter unless Rubinius team plans to use it
 * rename top level namespace to Rspec and commands to 'rspec' and 'autorspec'
   * continue to support Spec 'spec' and 'autospec' as aliases for a reasonable time
 * separate the underlying framework from the DSL
   * be able to do everything with classes and methods
-* tweak raise_error rdoc to show only one arg
\ No newline at end of file
+* tweak raise_error rdoc to show only one arg</diff>
      <filename>TODO.txt</filename>
    </modified>
    <modified>
      <diff>@@ -123,7 +123,7 @@ WARNING
       # a predicate on your class. RSpec provides a couple of these
       # out of the box:
       #
-      #   exist (or state expectations)
+      #   exist (for state expectations)
       #     File.should exist(&quot;path/to/file&quot;)
       #
       #   an_instance_of (for mock argument constraints)
@@ -173,7 +173,7 @@ WARNING
         return dry_run(examples, run_options) if run_options.dry_run?
 
         plugin_mock_framework
-        define_methods_from_predicate_matchers
+        define_methods_from_predicate_matchers(run_options)
 
         success, before_all_instance_variables = run_before_all(run_options)
         success, after_all_instance_variables  = execute_examples(success, before_all_instance_variables, examples, run_options)
@@ -346,9 +346,9 @@ WARNING
         end
       end
 
-      def define_methods_from_predicate_matchers # :nodoc:
+      def define_methods_from_predicate_matchers(run_options) # :nodoc:
         all_predicate_matchers = predicate_matchers.merge(
-          Spec::Runner.configuration.predicate_matchers
+          run_options.predicate_matchers
         )
         all_predicate_matchers.each_pair do |matcher_method, method_on_object|
           define_method matcher_method do |*args|</diff>
      <filename>lib/spec/example/example_group_methods.rb</filename>
    </modified>
    <modified>
      <diff>@@ -129,7 +129,12 @@ module Spec
 
       def examples_should_not_be_run
         @examples_should_be_run = false
-      end      
+      end
+      
+      def predicate_matchers
+        # TODO - don't like this dependency - perhaps store these in here instead?
+        Spec::Runner.configuration.predicate_matchers
+      end
 
       def colour=(colour)
         @colour = colour</diff>
      <filename>lib/spec/runner/options.rb</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>013fd6a731e5dfebfae4d74aaaef1ecfdb61268a</id>
    </parent>
  </parents>
  <author>
    <name>David Chelimsky</name>
    <email>dchelimsky@gmail.com</email>
  </author>
  <url>http://github.com/wilson/rspec/commit/992ce4bbb289b429e0830a780f68dcd14b04fba7</url>
  <id>992ce4bbb289b429e0830a780f68dcd14b04fba7</id>
  <committed-date>2008-12-28T16:20:21-08:00</committed-date>
  <authored-date>2008-12-28T16:20:21-08:00</authored-date>
  <message>Get global predicate matchers from run_options (in example group)
instead of accessing globally from Spec::Runner (one less dependency
from Spec::Example to Spec::Runner).</message>
  <tree>19b8525ba71a42b03a25c27137e43c9afaafa609</tree>
  <committer>
    <name>David Chelimsky</name>
    <email>dchelimsky@gmail.com</email>
  </committer>
</commit>
