2017-10-18 7 views
-1

code pour le contexte:Symbole est passé à « raise »

module Devise 
    module Strategies 
    class AuthxAuthenticatable < Authenticatable 
     def valid? 
     !params[scope].nil? 
     end 

     def authenticate! 
     resource = mapping.to.authenticate_with_credentials(params[scope]) 
     return fail(:invalid) if resource.nil? 
     success!(resource) if validate(resource) 
     end 
    end 
    end 
end 

Warden::Strategies.add(:authx_authenticatable, Devise::Strategies::AuthxAuthenticatable) 

Entré dans un code où un symbole est passé à raise:

raise(:invalid) 

Ne ressemble pas il n'y a aucun rapiéçage de singe de raise pour gérer les arguments de symbole. On dirait que fail utilisé pour être utilisé, et le code fonctionne réellement si j'utilise fail.

N'est-ce pas juste un alias pour raise? Est-ce que cela a du sens dans n'importe quel contexte?

+0

Ouais qui devrait jeter un '' TypeError' soit avec fail' ou 'raise'. Pouvez-vous donner plus de contexte? Des gemmes en jeu? – hoffm

+0

Merci @hoffm. Et oui c'est ce que je pensais, posté du code supplémentaire ci-dessus, essentiellement c'est juste une stratégie personnalisée pour Devise – Drew

+0

@hoffm ressemble à utiliser utilise également cette syntaxe dans certains de ses codes – Drew

Répondre