<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array">
    <added>
      <filename>db/migrate/20080805211723_rename_log_item_changes.rb</filename>
    </added>
  </added>
  <modified type="array">
    <modified>
      <diff>@@ -82,8 +82,13 @@ class PeopleController &lt; ApplicationController
     @person = Person.find(params[:id])
     if @logged_in.can_edit?(@person)
       if updated = @person.update_from_params(params)
-        flash[:notice] = 'Changes saved.'
-        redirect_to edit_person_path(@person, :anchor =&gt; params[:anchor])
+        respond_to do |format|
+          format.html do
+            flash[:notice] = 'Changes saved.'
+            redirect_to edit_person_path(@person, :anchor =&gt; params[:anchor])
+          end
+          format.xml { render :xml =&gt; @person.to_xml }
+        end
       else
         edit; render :action =&gt; 'edit'
       end</diff>
      <filename>app/controllers/people_controller.rb</filename>
    </modified>
    <modified>
      <diff>@@ -42,7 +42,7 @@ class Family &lt; ActiveRecord::Base
   
   alias_method 'photo_without_logging=', 'photo='
   def photo=(p)
-    LogItem.create :model_name =&gt; 'Family', :instance_id =&gt; id, :changes =&gt; {'photo' =&gt; (p ? 'changed' : 'removed')}, :person =&gt; Person.logged_in
+    LogItem.create :model_name =&gt; 'Family', :instance_id =&gt; id, :object_changes =&gt; {'photo' =&gt; (p ? 'changed' : 'removed')}, :person =&gt; Person.logged_in
     self.photo_without_logging = p
   end
   </diff>
      <filename>app/models/family.rb</filename>
    </modified>
    <modified>
      <diff>@@ -67,7 +67,7 @@ class Group &lt; ActiveRecord::Base
   
   alias_method 'photo_without_logging=', 'photo='
   def photo=(p)
-    LogItem.create :model_name =&gt; 'Group', :instance_id =&gt; id, :changes =&gt; {'photo' =&gt; (p ? 'changed' : 'removed')}, :person =&gt; Person.logged_in
+    LogItem.create :model_name =&gt; 'Group', :instance_id =&gt; id, :object_changes =&gt; {'photo' =&gt; (p ? 'changed' : 'removed')}, :person =&gt; Person.logged_in
     self.photo_without_logging = p
   end
   </diff>
      <filename>app/models/group.rb</filename>
    </modified>
    <modified>
      <diff>@@ -25,7 +25,7 @@ class LogItem &lt; ActiveRecord::Base
   belongs_to :reviewed_by, :class_name =&gt; 'Person', :foreign_key =&gt; 'reviewed_by'
   belongs_to :site
   
-  serialize :changes
+  serialize :object_changes
   
   acts_as_scoped_globally 'site_id', &quot;(Site.current ? Site.current.id : 'site-not-set')&quot;
   
@@ -95,10 +95,14 @@ class LogItem &lt; ActiveRecord::Base
   
   def showable_change_keys
     return [] if deleted?
-    changes.keys.select do |key|
-      PEOPLE_ATTRIBUTES_SHOWABLE_ON_HOMEPAGE.include? key
-    end.map do |key|
-      key == 'tv_shows' ? 'TV Shows' : key.split('_').map { |w| w.capitalize }.join(' ')
+    begin
+      object_changes.keys.select do |key|
+        PEOPLE_ATTRIBUTES_SHOWABLE_ON_HOMEPAGE.include? key
+      end.map do |key|
+        key == 'tv_shows' ? 'TV Shows' : key.split('_').map { |w| w.capitalize }.join(' ')
+      end
+    rescue NoMethodError # sometimes object_changes doesn't un-serialize. Weird.
+      []
     end
   end
   </diff>
      <filename>app/models/log_item.rb</filename>
    </modified>
    <modified>
      <diff>@@ -112,9 +112,11 @@ class Person &lt; ActiveRecord::Base
 
   alias_method 'photo_without_logging=', 'photo='
   def photo=(p)
-    LogItem.create :model_name =&gt; 'Person', :instance_id =&gt; id, :changes =&gt; {'photo' =&gt; (p ? 'changed' : 'removed')}, :person =&gt; Person.logged_in
+    LogItem.create :model_name =&gt; 'Person', :instance_id =&gt; id, :object_changes =&gt; {'photo' =&gt; (p ? 'changed' : 'removed')}, :person =&gt; Person.logged_in
     self.photo_without_logging = p
   end
+  
+  attr_protected :api_key, :feed_code
 
   validates_length_of :password, :minimum =&gt; 5, :allow_nil =&gt; true, :if =&gt; Proc.new { Person.logged_in }
   validates_confirmation_of :password, :if =&gt; Proc.new { Person.logged_in }</diff>
      <filename>app/models/person.rb</filename>
    </modified>
    <modified>
      <diff>@@ -37,7 +37,7 @@ class Recipe &lt; ActiveRecord::Base
   
   alias_method 'photo_without_logging=', 'photo='
   def photo=(p)
-    LogItem.create :model_name =&gt; 'Recipe', :instance_id =&gt; id, :changes =&gt; {'photo' =&gt; (p ? 'changed' : 'removed')}, :person =&gt; Person.logged_in
+    LogItem.create :model_name =&gt; 'Recipe', :instance_id =&gt; id, :object_changes =&gt; {'photo' =&gt; (p ? 'changed' : 'removed')}, :person =&gt; Person.logged_in
     self.photo_without_logging = p
   end
   </diff>
      <filename>app/models/recipe.rb</filename>
    </modified>
    <modified>
      <diff>@@ -89,7 +89,7 @@
         &lt;tr id=&quot;changes&lt;%= item.id %&gt;&quot; style=&quot;display:none;background-color:#eee;&quot; class=&quot;changes&quot;&gt;
           &lt;td colspan=&quot;7&quot;&gt;
             &lt;table&gt;
-              &lt;% item.changes.to_a.each do |key, value| %&gt;
+              &lt;% item.object_changes.to_a.each do |key, value| %&gt;
                 &lt;% unless key =~ /_id$/ %&gt;
                   &lt;tr&gt;&lt;td&gt;&lt;%=h key %&gt;:&lt;/td&gt;&lt;td&gt;&lt;%=h value %&gt;&lt;/td&gt;&lt;/tr&gt;
                 &lt;% end %&gt;</diff>
      <filename>app/views/administration/log_items/index.html.erb</filename>
    </modified>
    <modified>
      <diff>@@ -26,7 +26,7 @@ module Foo
                   :name =&gt; self.respond_to?(:name) ? self.name : nil,
                   :model_name =&gt; self.class.name,
                   :instance_id =&gt; self.id,
-                  :changes =&gt; @logger_changes,
+                  :object_changes =&gt; @logger_changes,
                   :person =&gt; Person.logged_in,
                   :group_id =&gt; self.respond_to?(:group_id) ? self.group_id : nil
                 )</diff>
      <filename>vendor/plugins/acts_as_logger/lib/acts_as_logger.rb</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>c07a5659540caa54be9dd050b4836e498addc329</id>
    </parent>
  </parents>
  <author>
    <name>Tim Morgan</name>
    <email>tim@timmorgan.org</email>
  </author>
  <url>http://github.com/seven1m/onebody/commit/647c17b0444485e39045ee62e2ca5ea9ecfc9bea</url>
  <id>647c17b0444485e39045ee62e2ca5ea9ecfc9bea</id>
  <committed-date>2008-08-05T15:48:00-07:00</committed-date>
  <authored-date>2008-08-05T06:14:00-07:00</authored-date>
  <message>Rename LogItem#changes attribute to remove conflict with Rails dirty tracking.</message>
  <tree>09017e9476fcedd0a7239a5f329909919a4d76bf</tree>
  <committer>
    <name>Tim Morgan</name>
    <email>tim@timmorgan.org</email>
  </committer>
</commit>
