我目前正在开发一个中央身份验证API(在ruby on rails上),它将根据用户的电子邮件地址域与许多其他提供商进行身份验证。
如果我使用java,这将是接口的经典用例。鉴于我正在使用Ruby,我仍然希望使用接口构造,但不确定如何强制实现接口方法。
这个界面的意图是至少有一个authenticated?
方法。
示例实现。它对本地数据库中的用户进行身份验证。
# internal_user.rb
class InternalUser < User
def authenticated?(email, password)
user = User.find_for_database_authentication(email: email)
user && user.valid_password?(password) && !user.confirmed_at.nil?
end
end
因此,当我向我的API添加更多提供程序支持时(即实现此接口的更多类),我如何确保这些新类将实现此接口,换句话说,确保authenticated?
方法已实施?
答案 0 :(得分:3)