<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array"/>
  <modified type="array">
    <modified>
      <diff>@@ -1,9 +1,15 @@
 TODO:
   * Create ProfilerNote
+  * Javascript injection for partials
 
-== Footnotes v3.2.2
+== Footnotes v3.3
 Author: Jos&#233; Valim (jose.valim@gmail.com)
 Site: http://www.pagestacker.com/
+      http://josevalim.blogspot.com/
+  * Rails Edge (aka 2.2) compatibility;
+  * Initial Ruby 1.9 compatibility.
+
+== Footnotes v3.2.2
   * Added trace to QueriesNote;
   * Fixed incompatibility with Ultrasphinx (thanks to mhartl);
   * Added W3C compatibility (thanks to tapajos);</diff>
      <filename>CHANGELOG</filename>
    </modified>
    <modified>
      <diff>@@ -1,4 +1,4 @@
-Footnotes plugin for Rails (v3.2.2)
+Footnotes plugin for Rails (v3.3)
 -----------------------------------
 
 If you are developing in Rails you should know the plugin!
@@ -23,6 +23,14 @@ If you are using Git for your own app, then you could use Git sub-modules or the
 Early versions
 ==============
 
+The current version is only Rails Edge (aka Rails 2.2) compatible. If you are running on Rails 2.1.x, you should use Footnotes v3.2.2:
+
+    cd myapp
+    git clone git://github.com/drnic/rails-footnotes.git vendor/plugins/footnotes
+    cd vendor/plugins/footnotes
+    git checkout v3.2.2
+    rm -rf ./.git
+
 If you are running on Rails 2.0.x or Rails 1.x, you should use Footnotes v3.0:
 
     cd myapp</diff>
      <filename>README.markdown</filename>
    </modified>
    <modified>
      <diff>@@ -50,6 +50,6 @@ module Footnotes
   end
 end
 
-Exception.send :include, Footnotes::Extensions::Exception
-ActionView::TemplateError.send :include, Footnotes::Extensions::ActionView
-ActionController::Base.send :include, Footnotes::Extensions::ActionController
\ No newline at end of file
+Exception.__send__ :include, Footnotes::Extensions::Exception
+ActionView::TemplateError.__send__ :include, Footnotes::Extensions::ActionView
+ActionController::Base.__send__ :include, Footnotes::Extensions::ActionController
\ No newline at end of file</diff>
      <filename>lib/backtracer.rb</filename>
    </modified>
    <modified>
      <diff>@@ -114,7 +114,7 @@ module Footnotes
       end
 
       def first_render?
-        @template.first_render
+        @template.__send__(:_first_render)
       end
 
       def valid_format?
@@ -122,7 +122,7 @@ module Footnotes
       end
 
       def valid_content_type?
-        c = @controller.response.headers['Content-Type']
+        c = @controller.response.headers['Content-Type'].to_s
         (c.nil? || c =~ /html/)
       end
 </diff>
      <filename>lib/footnotes.rb</filename>
    </modified>
    <modified>
      <diff>@@ -66,4 +66,4 @@ module Footnotes
   end
 end
 
-Footnotes::Filter.send :include, Footnotes::Components if Footnotes::Filter.notes.include?(:components)
\ No newline at end of file
+Footnotes::Filter.__send__ :include, Footnotes::Components if Footnotes::Filter.notes.include?(:components)
\ No newline at end of file</diff>
      <filename>lib/notes/components_note.rb</filename>
    </modified>
    <modified>
      <diff>@@ -4,7 +4,7 @@ module Footnotes
   module Notes
     class CookiesNote &lt; AbstractNote
       def initialize(controller)
-        @cookies = (controller.send(:cookies) || {}).symbolize_keys
+        @cookies = (controller.__send__(:cookies) || {}).symbolize_keys
       end
 
       def self.to_sym</diff>
      <filename>lib/notes/cookies_note.rb</filename>
    </modified>
    <modified>
      <diff>@@ -45,7 +45,7 @@ module Footnotes
             #remove conditions (this would call a Proc on the mock_controller)
             filter.options.merge!(:if =&gt; nil, :unless =&gt; nil) 
 
-            filter.send!(:should_run_callback?, mock_controller)   
+            filter.__send__(:should_run_callback?, mock_controller)   
           }.map(&amp;:to_sym)
         end
         </diff>
      <filename>lib/notes/filters_note.rb</filename>
    </modified>
    <modified>
      <diff>@@ -2,26 +2,39 @@ require &quot;#{File.dirname(__FILE__)}/view_note&quot;
 
 module Footnotes
   module Notes
-    class LayoutNote &lt; ViewNote
+    class LayoutNote &lt; AbstractNote
+      def initialize(controller)
+        @controller = controller
+        @template = controller.instance_variable_get('@template')
+      end
+
       def self.to_sym
         :layout
       end
 
+      def row
+        :edit
+      end
+
       def title
         'Layout'
       end
 
       def link
-        escape(Footnotes::Filter.prefix + layout_file_name)
+        escape(Footnotes::Filter.prefix + layout_filename)
       end
 
       def valid?
-        @controller.active_layout &amp;&amp; prefix?
+        prefix? &amp;&amp; @controller.active_layout &amp;&amp; layout_template
       end
 
       protected
-        def layout_file_name
-          File.expand_path(template_base_path(@controller.active_layout))
+        def layout_template
+          @layout_template ||= @template.__send__(:_pick_template, @controller.active_layout)
+        end
+
+        def layout_filename
+          layout_template.filename
         end
     end
   end</diff>
      <filename>lib/notes/layout_note.rb</filename>
    </modified>
    <modified>
      <diff>@@ -45,11 +45,15 @@ JAVASCRIPT
         html = ''
 
         @@sql.each_with_index do |item, i|
+          sql_links = []
+          sql_links &lt;&lt; &quot;&lt;a href=\&quot;#\&quot; style=\&quot;color:#A00;\&quot; onclick=\&quot;queries_toogle('table',#{i});return false\&quot;&gt;explain&lt;/a&gt;&quot; if item.explain
+          sql_links &lt;&lt; &quot;&lt;a href=\&quot;#\&quot; style=\&quot;color:#00A;\&quot; onclick=\&quot;queries_toogle('trace',#{i});return false\&quot;&gt;trace&lt;/a&gt;&quot; if item.trace
+
 html &lt;&lt; &lt;&lt;-HTML
-  &lt;b id=&quot;qtitle_#{i}&quot;&gt;#{escape(item.type.to_s.upcase)}&lt;/b&gt; (&lt;a href=&quot;#&quot; style=&quot;color:#A00;&quot; onclick=&quot;queries_toogle('table',#{i});return false&quot;&gt;explain&lt;/a&gt; | &lt;a href=&quot;#&quot; style=&quot;color:#00A;&quot; onclick=&quot;queries_toogle('trace',#{i});return false&quot;&gt;trace&lt;/a&gt;)&lt;br /&gt;
-  #{escape(item.name || 'SQL')} (#{sprintf('%f', item.time)}s)&lt;br /&gt;
-  #{escape(item.query.gsub(/(\s)+/, ' ').gsub('`', ''))}&lt;br /&gt;
-  #{mount_table(parse_explain(item.explain), :id =&gt; &quot;qtable_#{i}&quot;, :style =&gt; 'margin:10px;display:none;') if item.explain}
+  &lt;b id=&quot;qtitle_#{i}&quot;&gt;#{escape(item.type.to_s.upcase)}&lt;/b&gt; (#{sql_links.join(' | ')})&lt;br /&gt;
+  #{print_name_and_time(item.name, item.time)}&lt;br /&gt;
+  #{print_query(item.query)}&lt;br /&gt;
+  #{print_explain(i, item.explain) if item.explain}
   &lt;p id=&quot;qtrace_#{i}&quot; style=&quot;display:none;&quot;&gt;#{parse_trace(item.trace) if item.trace}&lt;/p&gt;&lt;br /&gt;
 HTML
         end
@@ -71,6 +75,18 @@ HTML
             &quot;&lt;a href=\&quot;#{escape(&quot;#{Footnotes::Filter.prefix}#{RAILS_ROOT}/#{s[0]}&amp;line=#{s[1].to_i}&quot;)}\&quot;&gt;#{escape(t)}&lt;/a&gt;&lt;br /&gt;&quot;
           end.join
         end
+
+        def print_name_and_time(name, time)
+          &quot;#{escape(name || 'SQL')} (#{sprintf('%f', time)}s)&quot;
+        end
+
+        def print_query(query)
+          escape(query.to_s.gsub(/(\s)+/, ' ').gsub('`', ''))
+        end
+
+        def print_explain(i, explain)
+          mount_table(parse_explain(explain), :id =&gt; &quot;qtable_#{i}&quot;, :style =&gt; 'margin:10px;display:none;')
+        end
     end
   end
 
@@ -135,10 +151,10 @@ HTML
 end
 
 if Footnotes::Notes::QueriesNote.included?
-  ActiveRecord::ConnectionAdapters::AbstractAdapter.send :include, Footnotes::Extensions::AbstractAdapter
+  ActiveRecord::ConnectionAdapters::AbstractAdapter.__send__ :include, Footnotes::Extensions::AbstractAdapter
   ActiveRecord::ConnectionAdapters.local_constants.each do |adapter|
     next unless adapter =~ /.*[^Abstract]Adapter$/
     next if adapter =~ /SQLite.Adapter$/
-    eval(&quot;ActiveRecord::ConnectionAdapters::#{adapter}&quot;).send :include, Footnotes::Extensions::QueryAnalyzer
+    eval(&quot;ActiveRecord::ConnectionAdapters::#{adapter}&quot;).__send__ :include, Footnotes::Extensions::QueryAnalyzer
   end
 end
\ No newline at end of file</diff>
      <filename>lib/notes/queries_note.rb</filename>
    </modified>
    <modified>
      <diff>@@ -63,5 +63,5 @@ module Footnotes
 end
 
 if Footnotes::Notes::RoutesNote.included?
-  ActionController::Routing::RouteSet.send :include, Footnotes::Extensions::Routes
+  ActionController::Routing::RouteSet.__send__ :include, Footnotes::Extensions::Routes
 end
\ No newline at end of file</diff>
      <filename>lib/notes/routes_note.rb</filename>
    </modified>
    <modified>
      <diff>@@ -21,28 +21,20 @@ module Footnotes
       end
 
       def link
-        escape(Footnotes::Filter.prefix + template_file_name)
+        escape(Footnotes::Filter.prefix + filename)
       end
 
       def valid?
-        template_path &amp;&amp; prefix? &amp;&amp; @template.respond_to?(:finder)
+        prefix? &amp;&amp; first_render?
       end
 
       protected
-        def template_extension(path)
-          @template.finder.pick_template_extension(path)
+        def first_render?
+          @template.__send__(:_first_render)
         end
-
-        def template_base_path(path)
-          @template.finder.pick_template(path, template_extension(path))
-        end
-
-        def template_path
-          @template.first_render
-        end
-
-        def template_file_name
-          File.expand_path(template_base_path(template_path))
+        
+        def filename
+          @filename ||= @template.__send__(:_first_render).filename
         end
     end
   end</diff>
      <filename>lib/notes/view_note.rb</filename>
    </modified>
    <modified>
      <diff>@@ -164,7 +164,7 @@ class FootnotesTest &lt; Test::Unit::TestCase
     # Then we call add_footnotes!
     #
     def footnotes_perform!
-      @controller.template.expects(:first_render).returns(true)
+      @controller.template.expects(:_first_render).returns(true)
       @controller.performed_render = true
       @controller.template.expects(:template_format).returns('html')
 </diff>
      <filename>test/footnotes_test.rb</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>68fddf407ba2f2abf493d6c43be481cd0a9a01b9</id>
    </parent>
  </parents>
  <author>
    <name>Jose' Valim</name>
    <email>jose.valim@gmail.com</email>
  </author>
  <url>http://github.com/drnic/rails-footnotes/commit/d42fef4fab0f40f81c86bdaa6ed2a6d193b226b2</url>
  <id>d42fef4fab0f40f81c86bdaa6ed2a6d193b226b2</id>
  <committed-date>2008-09-09T17:18:40-07:00</committed-date>
  <authored-date>2008-09-09T17:18:40-07:00</authored-date>
  <message>Added Rails Edge (aka 2.2) support!</message>
  <tree>72b06970d30d76859f19c94ddbeb1c036c23f96c</tree>
  <committer>
    <name>Jose' Valim</name>
    <email>jose.valim@gmail.com</email>
  </committer>
</commit>
