2009-11-15

RiCal をちょっとだけ試した

別に何か作ったわけじゃないけど。恐らくいちばん新しい Ruby 用の iCal ライブラリ。

RiCal

とりあえず情報の出力。

RiCal.parse( open( ICS_FILE ) ).first.events.map { |e|
  puts e.summary
}

で summary 一覧を出力できる。map を each にしちゃダメなんだけど、どういうポリシーでこうなっているのかはよく分かってない。

組み立ての方は DSL で書ける。個人的にはこの DSL っていうのが聞き飽きたというかあまり便利に感じられることが言うほど多くないと思っていたんだけど、RiCal の DSL はいいと思う。

README に書かれているサンプルをそのままコピペするとこんな感じ。

 RiCal.Calendar do
   event do
     description "MA-6 First US Manned Spaceflight"
     dtstart     DateTime.parse("2/20/1962 14:47:39")
     dtend       DateTime.parse("2/20/1962 19:43:02")
     location    "Cape Canaveral"
     add_attendee "john.glenn@nasa.gov"
     alarm do
       description "Segment 51"
     end
   end
 end

こういうのを真面目にオブジェクト指向で組み立てさせるとえらいややこしい記述が必要になったりするんだけど、これは実に自然に書けていると思う。

About

例によって個人のなんちゃらです