0
因此,我正在採取我的第一步使用Presenters for rails應用程序,而我只是在重構一些代碼。我有幾個顯示電話號碼(即電話號碼,手機號碼和傳真號碼)格式良好或顯示「沒有給定」的字段。很明顯,我原本是這樣認爲的,但把邏輯轉移到我的主持人身上。一旦那裏我發現這一切都是一樣的,所以它重構到它使用的方法名稱和發送功能的私有方法:依賴於__method__的重構方法
class CustomerPresenter < BasePresenter
presents :customer
def phone
format_number(__method__)
end
def cell
format_number(__method__)
end
def fax
format_number(__method__)
end
private
def format_number(method)
hande_none customer.send(method) do
h.number_to_phone(customer.send(method), :area_code => true)
end
end
end
,但這段代碼似乎仍然沒有幹。由於format_number使用方法名,所以我必須定義三個獨立的方法。我很好奇,如果在這裏我還能做更多的事情。
p.s. hande_none只是返回塊,如果有什麼或返回「沒有給出」