class ActiveModel::MassAssignmentSecurity::Sanitizer

Public Class Methods

new(target=nil) click to toggle source
# File lib/active_model/mass_assignment_security/sanitizer.rb, line 6
def initialize(target=nil)
end

Public Instance Methods

sanitize(attributes, authorizer) click to toggle source

Returns all attributes not denied by the authorizer.

# File lib/active_model/mass_assignment_security/sanitizer.rb, line 10
def sanitize(attributes, authorizer)
  sanitized_attributes = attributes.reject { |key, value| authorizer.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 18
def debug_protected_attribute_removal(attributes, sanitized_attributes)
  removed_keys = attributes.keys - sanitized_attributes.keys
  process_removed_attributes(removed_keys) if removed_keys.any?
end
process_removed_attributes(attrs) click to toggle source
# File lib/active_model/mass_assignment_security/sanitizer.rb, line 23
def process_removed_attributes(attrs)
  raise NotImplementedError, "#process_removed_attributes(attrs) suppose to be overwritten"
end