<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array"/>
  <modified type="array">
    <modified>
      <diff>@@ -1,5 +1 @@
 require 'trusted_params'
-
-ActiveRecord::Base.class_eval do
-  include TrustedParams::ActiveRecordAdditions
-end</diff>
      <filename>init.rb</filename>
    </modified>
    <modified>
      <diff>@@ -2,13 +2,14 @@ module TrustedParams
   module ActiveRecordAdditions
     def self.included(base)
       base.extend(ClassMethods)
+      base.alias_method_chain :remove_attributes_protected_from_mass_assignment, :trusted_params
     end
     
-    def remove_attributes_protected_from_mass_assignment(attributes)
-      unless self.class.accessible_attributes.include? &quot;all&quot;
+    def remove_attributes_protected_from_mass_assignment_with_trusted_params(attributes)
+      unless self.class.accessible_attributes &amp;&amp; self.class.accessible_attributes.include?(&quot;all&quot;)
         attributes.each do |key, value|
-          unless self.class.accessible_attributes.include?(key.to_s) || attributes.trusted?(key)
-            raise ActiveRecord::UnavailableAttributeAssignmentError, &quot;attribute \&quot;#{key}\&quot; is protected from mass assignment&quot;
+          unless (self.class.accessible_attributes &amp;&amp; self.class.accessible_attributes.include?(key.to_s)) || attributes.trusted?(key)
+            raise ActiveRecord::UnavailableAttributeAssignmentError, &quot;attribute \&quot;#{key}\&quot; is protected from mass assignment, use attr_accessible&quot;
           end
         end
       end
@@ -16,7 +17,11 @@ module TrustedParams
     end
     
     module ClassMethods
-      def attr_protected(*args)
+      def self.extended(base)
+        base.metaclass.alias_method_chain :attr_protected, :disabled
+      end
+      
+      def attr_protected_with_disabled(*args)
         raise &quot;attr_protected has been disabled by trusted-params plugin, use attr_accessible&quot;
       end
     end
@@ -24,11 +29,9 @@ module TrustedParams
 end
 
 module ActiveRecord
-  # TODO for some reason this doesn't work for overriding methods
-  # currently this is done in init.rb instead
-  # Base.class_eval do
-  #   include TrustedParams::ActiveRecordAdditions
-  # end
+  Base.class_eval do
+    include TrustedParams::ActiveRecordAdditions
+  end
   
   class UnavailableAttributeAssignmentError &lt; ActiveRecordError
   end</diff>
      <filename>lib/trusted_params/active_record_additions.rb</filename>
    </modified>
    <modified>
      <diff>@@ -9,9 +9,6 @@ Spec::Runner.configure do |config|
 end
 
 class MockedModel &lt; ActiveRecord::Base
-  
-  include TrustedParams::ActiveRecordAdditions
-  
   class_inheritable_hash :paginate_options
   
   def self.paginate(options)</diff>
      <filename>spec/spec_helper.rb</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>222c66b1cc5b2b35a7295a801e55976dad651c0c</id>
    </parent>
  </parents>
  <author>
    <name>Ryan Bates</name>
    <email>ryan@railscasts.com</email>
  </author>
  <url>http://github.com/ryanb/trusted-params/commit/195840d81e664d0798708c2b35070f1a8bfa31bd</url>
  <id>195840d81e664d0798708c2b35070f1a8bfa31bd</id>
  <committed-date>2009-06-01T11:36:52-07:00</committed-date>
  <authored-date>2009-06-01T11:36:52-07:00</authored-date>
  <message>using alias method chain so method override happens</message>
  <tree>fd6a82857cfc994d71a5eb885176e08fc68dd4b5</tree>
  <committer>
    <name>Ryan Bates</name>
    <email>ryan@railscasts.com</email>
  </committer>
</commit>
