PerlerのRuby日記

Rubyとか

autotest gem 使ってみた

見ました。

テストしたらそれがドキュメントになるの素晴らしいとおもいます。
で、触ってみてのメモ。
バージョンは0.3.2。

テストで作ったもの
https://github.com/rightgo09/ruby-autodoc-test

active_support/concernが必要?

Sinatra + Rspecで試してみたら

✘╹◡╹✘ AUTODOC=1 bundle exec rspec
/Users/rightgo09/sandbox/autodoc-test/vendor/bundle/ruby/2.0.0/gems/actionpack-4.0.2/lib/action_dispatch/http/mime_negotiation.rb:6:in `<module:MimeNegotiation>': uninitialized constant ActiveSupport::Concern (NameError)

エラーでた。
ので、spec_helperに

require "active_support/concern"

を追加した。

JSON

JSONを返すとき(Content Typeが"application/json")は、

require "json"

が必要。
アプリ側でどっかで使っていればそれでいいけど、Ojとか別のパーサ使ってたらspec_helperとかで読み込む必要あった。

spec/requests/*_spec.rb

spec/api/root_spec.rbのテストにautodoc:1してみると

* doc/spec/api/root_spec.rb

ができる。中身はMarkdown。

READMEのexampleのとおり、spec/requests/*にテストファイルを置くと、doc/*.mdになってくれる。

Markdown以外のフォーマット

Autodoc.configuration.template = File.read("/my/template/path")

templateにファイルパスを入れるかと思ったけど、中身を渡す必要があった。
ERBの普通のHTML書いて渡せば、別にGithub経由とかじゃなくてもブラウザで簡単に見られる。