符号传递给'加注'

时间:2017-10-18 15:38:15

标签: ruby exception exception-handling

上下文代码:

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)

遇到一些符号传递给raise的代码:

raise(:invalid)

看起来没有任何猴子修补raise来处理符号参数。似乎曾经使用fail,如果我使用fail,代码实际上有效。

这不只是raise的别名吗?这在任何情况下都有意义吗?

1 个答案:

答案 0 :(得分:0)

看起来使用的window: undefined, document: undefined, 方法是看守方法:

http://www.rubydoc.info/github/hassox/warden/Warden%2FStrategies%2FBase:fail