diff options
author | Bogdan Gusiev <agresso@gmail.com> | 2011-05-30 11:34:00 +0300 |
---|---|---|
committer | Bogdan Gusiev <agresso@gmail.com> | 2011-05-30 11:34:00 +0300 |
commit | aa2639e746d8af5d7673bbbbbccbe868edeb0161 (patch) | |
tree | 0c52328245ded53d61a01c68c9e45897e4d35d79 /activemodel/lib/active_model/mass_assignment_security | |
parent | 96525d632d47847ae5a8d6658ad396b74ecfb6f1 (diff) | |
download | rails-aa2639e746d8af5d7673bbbbbccbe868edeb0161.tar.gz rails-aa2639e746d8af5d7673bbbbbccbe868edeb0161.tar.bz2 rails-aa2639e746d8af5d7673bbbbbccbe868edeb0161.zip |
ActiveModel::MassAssignmentSecurity.mass_assignment_sanitizer method
In order to specify your own sanitize method
Implemented .mass_assignment_sanitizer configuration option
Diffstat (limited to 'activemodel/lib/active_model/mass_assignment_security')
-rw-r--r-- | activemodel/lib/active_model/mass_assignment_security/sanitizer.rb | 12 |
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 |