2017-10-18 1 views
-1

-Code für Kontext:Symbol auf 'Raise' übergeben

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) 

über einige Code kam, wo ein Symbol zu raise geführt wird:

raise(:invalid) 

Sieht nicht wie es irgendein Affe Patchen von raise, um Symbolargumente zu behandeln. Scheint wie fail verwendet zu werden, und der Code funktioniert tatsächlich, wenn ich fail benutze.

Ist das nicht nur ein Alias ​​für raise? Macht das in irgendeinem Zusammenhang Sinn?

+0

Ja, das sollte ein 'TypeError' entweder mit' fail' oder 'raise' werfen. Kannst du mehr Kontext geben? Irgendwelche Edelsteine ​​im Spiel? – hoffm

+0

Danke @hoffm. Und yeah das ist, was ich dachte, posted einige zusätzlichen Code oben, im Wesentlichen ist es nur eine benutzerdefinierte Strategie für Devise – Drew

+0

@hoffm sieht aus wie Devise verwendet diese Syntax in einigen seiner Code sowie – Drew

Antwort