aboutsummaryrefslogtreecommitdiffstats
path: root/activemodel/lib/active_model/mass_assignment_security/sanitizer.rb
diff options
context:
space:
mode:
authorJosé Valim <jose.valim@gmail.com>2011-05-31 03:09:23 -0700
committerJosé Valim <jose.valim@gmail.com>2011-05-31 03:09:23 -0700
commit16384351526bc5c4d064d6f4c720b8641acf125c (patch)
tree8bcaceb86f1db83b1ba9057fff426b8b6cf27a17 /activemodel/lib/active_model/mass_assignment_security/sanitizer.rb
parent752dec941e3dbceb8c7298adba10c2c776752a64 (diff)
parentaa2639e746d8af5d7673bbbbbccbe868edeb0161 (diff)
downloadrails-16384351526bc5c4d064d6f4c720b8641acf125c.tar.gz
rails-16384351526bc5c4d064d6f4c720b8641acf125c.tar.bz2
rails-16384351526bc5c4d064d6f4c720b8641acf125c.zip
Merge pull request #1403 from bogdan/config
ActiveModel::MassAssignmentSecurity.mass_assignment_sanitizer method
Diffstat (limited to 'activemodel/lib/active_model/mass_assignment_security/sanitizer.rb')
-rw-r--r--activemodel/lib/active_model/mass_assignment_security/sanitizer.rb12
1 files changed, 11 insertions, 1 deletions
diff --git a/activemodel/lib/active_model/mass_assignment_security/sanitizer.rb b/activemodel/lib/active_model/mass_assignment_security/sanitizer.rb
index 5dbcf473bd..4dfff050a8 100644
--- a/activemodel/lib/active_model/mass_assignment_security/sanitizer.rb
+++ b/activemodel/lib/active_model/mass_assignment_security/sanitizer.rb
@@ -20,7 +20,7 @@ module ActiveModel
end
end
- class DefaultSanitizer < Sanitizer
+ class LoggerSanitizer < Sanitizer
attr_accessor :logger
@@ -33,5 +33,15 @@ module ActiveModel
self.logger.debug "WARNING: Can't mass-assign protected attributes: #{attrs.join(', ')}" if self.logger
end
end
+
+ class StrictSanitizer < Sanitizer
+ def process_removed_attributes(attrs)
+ raise ActiveModel::MassAssignmentSecurity::Error, "Can't mass-assign protected attributes: #{attrs.join(', ')}"
+ end
+ end
+
+ class Error < StandardError
+ end
+
end
end