2020年5月29日金曜日

Sinatra アプリに yard ドキュメントを付与する方法

概要

Sinatra の get などの DSL を yardoc に表示する方法を紹介します
yard-sinatra というプラグインを使います

環境

  • macOS 10.15.4
  • Ruby 2.7.1p83
    • yard-sinatra 1.0.0
    • yard 0.9.25

インストール

  • bundle init
  • vim Gemfile
gem "sinatra"
gem "yard"
gem "yard-sinatra"
  • bundle config path vendor
  • bundle install

サンプルコード

# coding: utf-8
require 'sinatra'

# 取得
get '/hoge' do
end

# 追加
post '/hoge' do
end

# パスなし
not_found do
end

# サーバエラー
error 500 do
end

# ヘルパーDSL
helpers do
  # hoge 関数
  def hoge
  end
end

ドキュメント生成

  • bundle exec yard doc --plugin yard-sinatra app.rb
  • open doc/index.html

動作確認

helperserror に関してはドキュメントが生成されないようです

に関しては helpers は module として切り出せばそちらでドキュメントを書くことができるかなと思います
error ハンドリングに関してはできればやってほしいところです

0 件のコメント:

コメントを投稿