我正在使用Ruby on Rails和Stripe构建一个小型支付处理模块以获得乐趣,我想知道这个方法(用于检查给定用户是否已经使用Stripe存档卡)可以重构:
class User < ActiveRecord::Base
...
def has_card?
customer = Stripe::Customer.retrieve(self.stripe_customer_id)
if customer.cards.count > 0
true
else
false
end
end
end
我认为if
语句看起来很傻但无法解释原因(我不是白天的开发者,我只是涉猎)
答案 0 :(得分:5)
你的直觉是正确的,这很愚蠢!
def has_card?
Stripe::Customer.retrieve(stripe_customer_id).cards.count > 0
end