APIクライアントを自動生成するやつ
Heroicsという、JSON Schemaを元にAPIクライアントのコードを自動生成するやつを見た。 Heroicsにはbin/heroics-generateというコマンドラインツールが付いていて、JSON Schemaを解析したあと、 client.erbというERBのテンプレートに解析結果のオブジェクトを渡した結果、client.rbという雑なファイルを生成する。
$ gem install heroics $ heroics-generate SuperAwesomeClient schema.json https://api.example.com \> client.rb
Heroicsから生成されるもの
JSON Schemaからこんな感じで使えるやつを生成してくれる。
# client.rb client = SuperAwesomeClient.connect(api\_key) client.recipe.create("title") client.recipe.list #=\> [...] client.recipe.show(123)
JSON Schema
普通JSONで書くけど紙面の都合上ちょっと読みにくいのでYAML形式で記述しときます。