MacRubyでiCalのTODOを取得する

ひさびさの記事ですが、書籍発売の告知ではありません。

書籍を執筆している中で、MacRubyiCalのTODOを取得する方法を調べました。それをメモとして記録しておきます。このスクリプトをターミナル上でMacRubyを使って実行すると、iCalのTODOの一覧が「<優先度>:<タイトル>:<完了しているかどうか>」というフォーマットで出力されます。

#!/usr/local/bin/macruby
# カレンダーのTODOを出力する

framework "calendarstore"

store = CalCalendarStore.defaultCalendarStore
predicate = CalCalendarStore.taskPredicateWithCalendars(store.calendars)
store.tasksWithPredicate(predicate).each do |t|
  puts("#{t.priority}:#{t.title}:#{t.completed?}")
end

PS. MacRubyについて、特徴やRubyCocoaとの違いなどを調べる過程で、新しいことが知識がいろいろ入ってきます。AutoZoneとかですね。さぁ、執筆活動を続けるぞ!!