<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array"/>
  <modified type="array">
    <modified>
      <diff>@@ -6,6 +6,7 @@ class Merb::Cache::Observer
 
     if controller._page_observer? action
       models = controller._page_observers[action][:models] | models
+      controller._page_observers[action] = nil
     end
 
     observer = Class.new do</diff>
      <filename>lib/merb_cache_observer/cache_page_observer.rb</filename>
    </modified>
    <modified>
      <diff>@@ -94,4 +94,15 @@ describe Merb::Cache::Observer, 'for pages' do
     end
     EntriesController._page_observers[:index][:models].should == [Entry, Comment]
   end
+
+  it 'should destruct updated observer classes' do
+    before = Time.now
+    100.times do
+      class People
+        observe_page :index, Entry
+      end
+    end
+    after = Time.now
+    after.should &lt;= (before + 1)
+  end
 end</diff>
      <filename>spec/merb_cache_observer/cache_page_observer_spec.rb</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>35f69f630a90dc19af3ec21a4f329d17a85bd152</id>
    </parent>
  </parents>
  <author>
    <name>Eivind Uggedal</name>
    <email>eu@redflavor.com</email>
  </author>
  <url>http://github.com/uggedal/merb_cache_observer/commit/06bb86dc4de93654702d830476e6da519b5f2ee9</url>
  <id>06bb86dc4de93654702d830476e6da519b5f2ee9</id>
  <committed-date>2008-07-30T05:09:17-07:00</committed-date>
  <authored-date>2008-07-30T05:09:17-07:00</authored-date>
  <message>Destruct old observer classes. Not sure about this.</message>
  <tree>d89f22d89468327ac40adb759bc06a145ae05c7b</tree>
  <committer>
    <name>Eivind Uggedal</name>
    <email>eu@redflavor.com</email>
  </committer>
</commit>
