Class: ActiveModel::MassAssignmentSecurity::Sanitizer

Inherits:
Object
  • Object
show all
Defined in:
lib/ab_admin/hooks/active_model_attr_accessible_few_roles.rb

Instance Method Summary collapse

Instance Method Details

#sanitize(klass, attributes, authorizers) ⇒ Object



25
26
27
28
29
30
31
32
# File 'lib/ab_admin/hooks/active_model_attr_accessible_few_roles.rb', line 25

def sanitize(klass, attributes, authorizers)
  rejected = []
  sanitized_attributes = attributes.reject do |key, value|
    rejected << key if authorizers.all? { |authorizer| authorizer.deny?(key) }
  end
  process_removed_attributes(klass, rejected) unless rejected.empty?
  sanitized_attributes
end