Sha256: 2c34fcfd8c49667220f0580a0c01bbec555dd0c1c512492b4d790053f51fa93b

Contents?: true

Size: 862 Bytes

Versions: 2

Compression:

Stored size: 862 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

2 entries across 2 versions & 1 rubygems

Version Path
protector-0.6.4 lib/protector/adapters/active_record/strong_parameters.rb
protector-0.6.3 lib/protector/adapters/active_record/strong_parameters.rb