日々之迷歩

世の中わからんことだらけ

ITが複雑で難しくなっていく様に翻弄される日々です。微力ながら共著させていただいた「シェル・ワンライナー160本ノック」をよろしくお願い申し上げます。

Railsで祝日の判定と祝日の名前を得る(その2)

先日書いたRailsで祝日の判定と祝日の名前を得るでは、RDBに保存されたdatetime型の時刻データについて祝日の判定を行っていたが、やりたいこととズレていました。
カレンダー表示で祝日かどうかについてが判定出来ればいいから、Time型の時刻やDate型の日付のオブジェクトについて祝日かどうかの判定が出来ればいいですね。
ということで、結局Ruby用祝日判定コードスクリプトをconfig/initializers/shukujitu.rbというファイル名で保存してやればいいということになります。これでTime#shukujitu?というメソッドが使えるようになります。
Date型の日付オブジェクトの場合は、RailsではActiveSupportのおかげでDate#to_timeというメソッドが使えますので、以下のようにTime型に変換してやればいいですね。

>> ganjitsu = Date.new(2011,1,1) #【2011年元日】
 => Sat, 01 Jan 2011 
>> ganjitsu.to_time
 => Sat Jan 01 00:00:00 +0900 2011 #【Time型に変換】
>> ganjitsu.to_time.shukujitu? #
 => "元日" 


あとは、、会社で決めた休みや有給休暇、振替休日の場合の判定をどうするか?ということを考えるのか?RDBに登録された日付や決まった月の決まった曜日(8月第1月曜日など)の場合は?いろいろ考えることはありますが、さて?