RSpecのrequest specでCommitteeを使ってレスポンスJSONを自動的にバリデーションする

この記事の続きのようなものです。 blog.kymmt.com やりたいこと Rails + RSpecでWeb APIのrequest specを書くときに、Committee(とCommittee::Rails)の assert_schema_conform を使って、レスポンスのJSONがOpenAPIドキュメントで定義したレスポンスのJSO…

Web APIのレスポンスJSONをCommittee + OpenAPIでバリデーションして仕様と実装の乖離を防ぐ

APIドキュメントに書いたJSON Schemaと実際に実装したWeb APIのレスポンスJSONが一致するかバリデーションするためのCommitteeというgemがあります。また、このCommitteeをRailsプロジェクト中のテストから使うためのCommittee::Railsというgemがあります。 …

Yokohama.rb Monthly Meetup #84 に参加した

2017-09-09(土)のYokohama.rb Monthly Meetup #84参加のメモです。 yokohamarb.doorkeeper.jp Rubyレシピブック 今回から最終章のひとつ手前、第10章の「Webプログラミング」に入りました。次のレシピを読みました。 261: RSSを扱う 262: Rackを使う 263: …

OpenAPI v3.0.0のCallback Objectについて調べた

2017年7月末リリースのOpenAPI v3.0.0に入ったCallback Objectという仕様がパッと見だとどう使うかわかりにくかったので、調べてみました。 Callback Objectの仕様は次のリンク先のとおりです。 OpenAPI-Specification/3.0.0.md at master · OAI/OpenAPI-Spe…

Rails 5.1でRails pluginをセットアップする手順

最近読んでいる “Crafting Rails 4 Applications” の中でRails pluginを開発する場面が多々あるので、手元でもRails 5を使ってRails pluginを書いてみています。 Rails 5だと、プラグインのセットアップ手順が本の記述やRails Guidesの記述と少し違っていた…