さて、普段の仕事で HTTP status code とその意味が知りたくなったときに Wikipedia なんかをよく検索しにいくので、ローカルで検索できるように Rakeタスクにしてみた。

きっかけ

きっかけは、仕事で状態の更新タイミングによって遷移できない状態に陥った時に、なにかよい status code がないものかと探したことだった。 かねてから gem 作りたいという欲求もあったので、いきなり難易度高いものでなく、地味に役に立つものを作ろうとして着手してみた。

リポジトリは こちら

ハマったところ

以下の2つ。

  1. Rack から status code とその説明が書かれた Hash はすぐにみつけたが、404:not_found を対応付けた定義があるところが見つからなかった。
  2. Rails から使うときには、Rails::Engine を継承しないといけない、というのに気がつくのが遅かった。

1 のほうは、実は status code と説明が書かれた Hash の下に、その Hash から生成して定数にしているところがあったのだが、:not_found とかそういう文字列で検索していたので引っかからなかったのであった。

2 のほうは、意識してなかったというか、Rails 用の gem を作り慣れていないのがもろバレである。なんか似たような gem 探してソースみたらすぐわかったので、助かった。

折角作ったので活用していこうと思うけど、そんなに HTTP status code 直接使う作業って今のところないんだよ…API 作るときには活躍しそうな気がする。 あともうちょっと綺麗にしたい。