日本の祝日が分かるgem、holiday_jp 0.3.1をリリースしました。

単純なgemなんですが、何故か@pwimさんが高速化してくれたり、@kakutaniさんがリファクタリングしてくれたりで、gemを介して遊んでるみたいな感じです。

今回はjewelerオワコンってことでbundlerにしたり、travis-ciしたり、rubygems-test対応したりしました。

僕も他のgemで新しいツールを使う前の実験台として使ったりしています。:-)

rubygems-testって面白いですね。僕はperl使ってた時に、「cpanの自動テストうっっっz」とか思ってましたが、良い物ですね。すいません。

特にrubygems-testをユーザーがインストールをしてるとプラットフォーム毎にテストが通ったかどうかを自動でhttp://test.rubygems.org/にアップしてくれるのがイカス。

Gem Testers

holiday_jpに幸あれ、rubygems-testに幸あれ。

@kakutaniさんからpull requestが来てたので改めて、holiday_jpについて。

2009年に仕事で必要になって作ったgemです。祝日が必要なソフトウェアは結構あると思いますが、こんな調査に時間を割くのは一人でいいんで共有できればと。

祝日は法律によって増えたり減ったりするので未来に渡って計算で算出することができません。

休日・祝日の定義について

休日は単に休みの日です。祝日は”国民の祝日を定める法律”で規定されるお祝いのための休日です (土日は祝日ではありません)。皇室の祭典を行った大祭日などが元になっています。

立春の日・秋分の日について

また厄介なのが立春の日と秋分の日です。基本的には国立天文台の算出する定気法による日(天体の動き)から決定されるため「ほぼこの日だろう」という日は分かりますが、実際には前年度の2月1日に閣議決定され、官報で告知されるまで確かなことはわかりません。(天文学に基づいて年毎に国家の祝日が決定されるのは世界的に見ても珍しいそうです。)

つまり、「現行法に置いては」という但し書きをつけても、日本の祝日は1年先までしかわからないということです。

「1年毎に誰かがメンテナンスする必要があるのであればgithubとかあるし100年分ぐらいgemの中に持っちゃえばいいじゃん。」

ということでholiday_jpができました。

関連:holiday_jp - 国民の祝日が分かるライブラリ - komagata