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