class Shoulda::Matchers::ActiveModel::ValidatePresenceOfMatcher

def matches?(subject)

def matches?(subject)
  super(subject)
  possibly_ignore_interference_by_writer
  if secure_password_being_validated? &&
     Shoulda::Matchers::RailsShim.active_model_lt_7?
    ignore_interference_by_writer.default_to(when: :blank?)
    disallowed_values.all? do |value|
      disallows_and_double_checks_value_of!(value)
    end
  else
    (!expects_to_allow_nil? || allows_value_of(nil)) &&
      (!expects_to_allow_blank? || allows_value_of('')) &&
      disallowed_values.all? do |value|
        disallows_original_or_typecast_value?(value)
      end
  end
end