Sha256: 52331d654d157c1c223d7da46bb1239cde2537f07e04f6cb241f42835b5fc58a
Contents?: true
Size: 701 Bytes
Versions: 35
Compression:
Stored size: 701 Bytes
Contents
require 'set' module ActiveModel module MassAssignmentSecurity class PermissionSet < Set #:nodoc: def +(values) super(values.compact.map(&:to_s)) end def include?(key) super(remove_multiparameter_id(key)) end def deny?(key) raise NotImplementedError, "#deny?(key) supposed to be overwritten" end protected def remove_multiparameter_id(key) key.to_s.gsub(/\(.+/, '') end end class WhiteList < PermissionSet #:nodoc: def deny?(key) !include?(key) end end class BlackList < PermissionSet #:nodoc: def deny?(key) include?(key) end end end end
Version data entries
35 entries across 35 versions & 3 rubygems