class Shoulda::Matchers::ActiveModel::HaveSecurePasswordMatcher
def validate
def validate missing_methods = expected_methods.reject do |m| subject.respond_to?(m) end if missing_methods.present? [:method_not_found, { methods: missing_methods.to_sentence }] else subject.send("#{@attribute}=", CORRECT_PASSWORD) subject.send("#{@attribute}_confirmation=", CORRECT_PASSWORD) if not subject.send(authenticate_method, CORRECT_PASSWORD) [:did_not_authenticate_correct_password, { attribute: @attribute },] elsif subject.send(authenticate_method, INCORRECT_PASSWORD) [:authenticated_incorrect_password, { attribute: @attribute }] end end end