Rubyで広めたいif文の書き方

date_check?関数というのを作って

def date_check?(value)
#日付型が正しいか確認
return false if (色々な条件に対して問題があったら)
return true
end

これを判定させるときに

if date_check?(day)
  @day=day
else
  @day=Date.today
end

読みやすいけど書いていてだるい。

ググって見つけた目からウロコな書き方

@day = if date_check?(day)
  day
else
  Date.today
end

これは凄い。感動しているなう。バラ色だよ!

三項演算子でもいいんじゃね?

@day = date_check?(day) ? day : Date.today

値が長いとゲンナリするのが三項演算子の弱点だと思うのさ。

変数を使ってみる。

@day = if date_check?(d = day)
  d
else
  Date.today
end

ん?これできるなら

@day = date_check?(d = day) ? d : Date.today

これがベストかな?