Sha256: 35c16ad197f68bba7c2220a19ffdaa3c12a285bb79a89441c5db9eb585a93ced

Contents?: true

Size: 863 Bytes

Versions: 1

Compression:

Stored size: 863 Bytes

Contents

module Protector
  module ActiveRecord
    module StrongParameters
      def self.sanitize!(args, is_new, meta)
        if is_new
          args[0] = args[0].permit(*meta.access[:create].keys) if meta.access.include? :create
        else
          args[0] = args[0].permit(*meta.access[:update].keys) if meta.access.include? :update
        end
      end

      # strong_parameters integration
      def sanitize_for_mass_assignment(*args)
        # We check only for updation here since the creation will be handled by relation
        # (see Protector::Adapters::ActiveRecord::Relation#new_with_protector)
        if Protector.config.strong_parameters? && args.first.respond_to?(:permit) \
            && !new_record? && protector_subject?

          StrongParameters.sanitize! args, false, protector_meta
        end

        super
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
protector-0.7.0 lib/protector/adapters/active_record/strong_parameters.rb