はちゅにっき

こっちのブログはまったり更新

Grape on Rack with ActiveRecord

RubyAPI サーバを書くなら Grape がいいよ。」

ってよく見聞きするんだけれど、ほぼ + Rails の構成。

食わず嫌い的な感じで Rails を避けている (訳じゃないんだけど) ので、Rails 臭がする程度に Grape を Rack 上にマウントしたらどうなるのかなー。と思い試してみました。

github.com

ディレクトリの構成からして Rails 臭が漂ってますね。 Rails を使ったことはないけれど、とりあえず Rails のブートプロセスを参考にしたら出来損ないの残念な感じになりました。

Grape の解説記事を読むと、Railsフルスタックすぎることもあるせいか「開発は Rails 上で行い、本番では Rack で起動しましょう」みたいに書いてあるんだけど、実際それってどうやるんでしょう?

ざっと Rails のブートプロセスを眺めた感じだと、Rails 上で開発してしまうと簡単には切り離せないような。

Rails のブートプロセス (と initializers) でやっているような処理を個別に切り出してやる感じになるのかなー。 でも全体的な設定とか Logger とか、その辺を全部個別で実装するのも大変そうだしなー。

その辺、知見のある方のお話しを聞いてみたいなー。

とりあえず Rails5 になって 「API モードが追加されブートプロセスも少し軽量化した」みたいな話しも聞いたので、そろそろいい加減 Rails に入門してみようかなと思います。