alstamber lab

ガジェットとキャッシュレス決済とホテル徘徊が好きな人のブログです。

電気通信大学食堂APIを作った話

UEC食堂API

以前からUEC西食堂bot(@uec_nishishoku)なるものを運営していたのだけど、上のようなツイートを見てやる気が出てきたので、APIの形で公開することにした。

APIの使い方などは、基本的に上のページの通り。妙にやる気が出てきてしまったので、簡単な構造のデータベースを持つようにして、過去のデータを保存するようにした。これで、API稼動日以降のメニューデータをいつでも参照できるようになったので、この点は以前から動いていたbotとの相違点。

Rubyを書きたい気持ちだったので、Sinatraを使って実装*1。とりあえず使い方を覚えていたからという理由だけでnginx+thin+Sinatraの構成にしたけども、最近はどういう構成にするのがイケてるんだろうか。

たかがマイクロサイズのAPIにそこまでする必要は全くないんだけども、ついでに以前からちゃんと使ってみたいと思っていた、RSpecを使ってテストも書いてみた。テストが通るのって気持ちいいね、やっぱり。

追伸 : この手のサービスのイケてるデプロイ方法知ってる人がいたら教えて下さい。

*1:@numa08さんからは、ScalaのSprayなどというフレームワークを勧められたけども…… これはまた別の機会に