如何解决在红宝石中重用自定义的“ getter”
| 我该如何做这样的事情...更紧凑?def token
if authorized?
return t.token
else
raise Error(\'unauthorized!\')
end
end
def secret
if authorized?
return t.secret
else
raise Error(\'unauthorized!\')
end
end
感觉现在过多地重复使用。
解决方法
添加一个将在调用令牌或秘密方法之前运行的过滤器。
before_filter :check_authorization,:only => [ :token,:secret ]
然后添加一个方法来检查用户是否被授权,
def check_authorization
if !authorized?
raise DropboxError(\'User is not authorized\')
end
end
def token
@token
end
def secret
@secret
end
如果令牌和秘密已经是用ѭ3或类似名称定义的模型属性,则可以完全消除令牌和秘密方法,因为它们是简单的无逻辑获取器。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。