<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array">
    <added>
      <filename>features/example_groups/define_example_attribute.feature</filename>
    </added>
  </added>
  <modified type="array">
    <modified>
      <diff>@@ -164,13 +164,11 @@ module Spec
       def include_constants_in(mod)
         include mod if (Spec::Ruby.version.to_f &gt;= 1.9) &amp; (Module === mod) &amp; !(Class === mod)
       end
-      
-      def define(name, &amp;block)
+
+      def let(name, &amp;block)
         define_method name do
-          unless methods.include?(name)
-            instance_variable_set(&quot;@__#{name}&quot;, instance_eval(&amp;block))
-          end
-          instance_variable_get(&quot;@__#{name}&quot;)
+          @assignments ||= {}
+          @assignments[name] ||= instance_eval(&amp;block)
         end
       end
 </diff>
      <filename>lib/spec/example/example_group_methods.rb</filename>
    </modified>
    <modified>
      <diff>@@ -113,7 +113,7 @@ module Spec
         @_implementation = implementation
         @_backtrace = caller
       end
-
+      
     private
 
       include Matchers</diff>
      <filename>lib/spec/example/example_methods.rb</filename>
    </modified>
    <modified>
      <diff>@@ -733,7 +733,7 @@ module Spec
         end
 
         describe &quot;#define&quot; do
-          define(:counter) do
+          let(:counter) do
             Class.new do
               def initialize
                 @count = 0
@@ -749,7 +749,7 @@ module Spec
           
           it &quot;caches the value&quot; do
             counter.count.should == 1
-            counter.count.should == 1
+            counter.count.should == 2
           end
         end
       end</diff>
      <filename>spec/spec/example/example_group_methods_spec.rb</filename>
    </modified>
  </modified>
  <removed type="array">
    <removed>
      <filename>features/example_groups/define_example_attribute_readers.feature</filename>
    </removed>
  </removed>
  <parents type="array">
    <parent>
      <id>0b2caa75973e462d785e7f8ad2da8f14ead7fcc3</id>
    </parent>
  </parents>
  <author>
    <name>David Chelimsky</name>
    <email>dchelimsky@gmail.com</email>
  </author>
  <url>http://github.com/smtlaissezfaire/rspec/commit/bd48b9e461fa13c598097175e2a450de142317f7</url>
  <id>bd48b9e461fa13c598097175e2a450de142317f7</id>
  <committed-date>2009-08-23T20:04:56-07:00</committed-date>
  <authored-date>2009-08-23T20:04:56-07:00</authored-date>
  <message>let define be let</message>
  <tree>9c21003d8cc4ed2f5bcd5404e1b51b7b6a9639c9</tree>
  <committer>
    <name>David Chelimsky</name>
    <email>dchelimsky@gmail.com</email>
  </committer>
</commit>
