0
時,我有一些這些在我的控制器:重構情況/使用字符串
def ups
@ups ||= Shipper::Ups.new(
ENV['UPS_ACCESS_KEY'],
ENV['UPS_PASSWORD'],
ENV['UPS_USERNAME'],
ENV['UPS_ACCOUNT']
)
end
然後,我有該程序被調用:
def type(number, carrier)
case carrier.slug
when 'ups'
number_details = ups.track(number)
when 'fedex'
number_details = fedex.track(number)
when 'usps'
number_details = usps.track(number)
end
return number_details
end
,但似乎我可以重構相當多有點如果我可以採取carrier.slug
並將其前置到ups.track(number)
這樣的行。
有沒有辦法做到這一點?