Sha256: ff08131f9a0cbe48557aa4516611da027e4226adfd707618f8dd04942ab92e66
Contents?: true
Size: 714 Bytes
Versions: 3
Compression:
Stored size: 714 Bytes
Contents
# require "eitil_core/application_controller/permit_model_atts" module ActionController class Parameters def permit_model_atts(*models, include: nil, except: nil) models = models.is_a?(Array) ? models : [models] except = except.is_a?(Array) ? except : [except] include = include.is_a?(Array) ? include : [include] columns = models.map do |model| model.columns_hash.keys.map &:to_sym end.flatten.uniq default_reject = %i( id updated_at created_at ) given_reject = except.map { |key| key&.to_sym } accepted_values = columns + include - default_reject - given_reject return self.permit(*accepted_values) end end end
Version data entries
3 entries across 3 versions & 1 rubygems