From 06afc3890fc9d385c8ee367debdec2fca7966d9a Mon Sep 17 00:00:00 2001 From: Pierre de La Morinerie Date: Mon, 8 Jul 2019 17:30:07 +0200 Subject: [PATCH] france_connect: raise an error if some validation error occurs MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit If a validation error occurs in `find_or_create`, an object without `id` will be returned–and the code will crash soon after. Ensure that we crash immediately, so that we can report the root cause (the validation error) instead of a seemingly-unrelated crash later. --- app/controllers/france_connect/particulier_controller.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/controllers/france_connect/particulier_controller.rb b/app/controllers/france_connect/particulier_controller.rb index 745d46be1..49f97f180 100644 --- a/app/controllers/france_connect/particulier_controller.rb +++ b/app/controllers/france_connect/particulier_controller.rb @@ -13,7 +13,7 @@ class FranceConnect::ParticulierController < ApplicationController fetched_fci.tap(&:save) if fci.user.nil? - user = User.find_or_create_by(email: fci.email_france_connect.downcase) do |new_user| + user = User.find_or_create_by!(email: fci.email_france_connect.downcase) do |new_user| new_user.password = Devise.friendly_token[0, 20] new_user.confirmed_at = Time.zone.now end