module ActiveModel::MassAssignmentSecurity::Sanitizer

Public Instance Methods

sanitize(attributes) click to toggle source

Returns all attributes not denied by the authorizer.

# File lib/active_model/mass_assignment_security/sanitizer.rb, line 5
def sanitize(attributes)
  sanitized_attributes = attributes.reject { |key, value| deny?(key) }
  debug_protected_attribute_removal(attributes, sanitized_attributes)
  sanitized_attributes
end

Protected Instance Methods

debug_protected_attribute_removal(attributes, sanitized_attributes) click to toggle source
# File lib/active_model/mass_assignment_security/sanitizer.rb, line 13
def debug_protected_attribute_removal(attributes, sanitized_attributes)
  removed_keys = attributes.keys - sanitized_attributes.keys
  warn!(removed_keys) if removed_keys.any?
end
warn!(attrs) click to toggle source
# File lib/active_model/mass_assignment_security/sanitizer.rb, line 18
def warn!(attrs)
  self.logger.debug "WARNING: Can't mass-assign protected attributes: #{attrs.join(', ')}" if self.logger
end