iCalendar on AppEngine

Okamotoプロジェクトの開発中に引っかかったとこの一つに、iCalendar gemがそのままでは使えなかったのがある。
iCalendar gemは内部でSocket#gethostnameを使用していて、これがAppEngineで制限されてるライブラリに引っかかって落ちてた。これ、iCalendar中のランダムIDとして使われているだけなので、以下のようにして潰してやれば使えるようになる。

require 'icalendar'
class Socket
  def self.gethostname
    return 'dokusho.yumenosora.net'
  end
end