如何重构这种方法?

时间:2013-12-04 02:54:15

标签: ruby-on-rails refactoring stripe-payments

我正在使用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语句看起来很傻但无法解释原因(我不是白天的开发者,我只是涉猎)

1 个答案:

答案 0 :(得分:5)

你的直觉是正确的,这很愚蠢!

def has_card?
  Stripe::Customer.retrieve(stripe_customer_id).cards.count > 0
end