日付をいくつかの条件と比較し、条件を満たす条件に基づいて特定の出力を返そうとしています。if
私はこれらとelsif
ステートメントが好きではありません:
def ugly_method
if first_active_entitlement.try(:created_at) == nil
"No timestamp on first active entitlement"
elsif first_active_entitlement == nil
"No Active Entitlement"
elsif last_suspended_entitlement == nil
first_time_or_renewal(first_active_entitlement, start_date, end_date)
elsif first_active_entitlement.try(:created_at) > last_suspended_entitlement.try(:suspended_at) && first_active_entitlement.try(:created_at) > start_date && first_active_entitlement.created_at < end_date
"Restart"
else
first_time_or_renewal(first_active_entitlement, start_date, end_date)
end
日付をさまざまな条件と比較しなければならなかった人はいますか? 私が行方不明になっている方が簡単な明らかなものはありますか?