現在、yardoc を使用して serverspec テストを文書化しようとしています。このために、それほど悪くない仕事をする yard-serverspec-plugin rubygem をインストールしました。
しかし、私には1つの問題があります。rubygem は「describe」と「context」を同じように扱い、階層構造にはしていません。このため、失敗した serverspec テストに関する正しいドキュメントを見つけるのは困難です。
これらは私のserverspecテストです:
describe 'OS name and version' do
# @reason command - compare local os name with the os name defined in hpsm
# @solution command - adjust the HPSM os name to match the servers os name
context command('awk \'{ printf("%s %s %s %s", $1,$2,$3,$4 ) }\' /etc/redhat-release') do
its(:stdout) { should eq 'Red Hat Enterprise Linux' }
end
# @reason command - compare local os version with the os version defined in hpsm
# @solution command - adjust the HPSM os version to match the servers os version
context command('awk -F . \'{printf gensub(/[^0-9]/, "", "g", $1)}\' /etc/redhat-release') do
its(:stdout) { should eq '7' }
end
end
そして、これが文書化される方法です:
ここにハンドラーのコードがあります: https://github.com/rrreeeyyy/yard-serverspec-plugin/blob/master/lib/yard/serverspec/plugin/handler.rb
私の質問は、階層構造を持つ html ドキュメントで 2 つのオブジェクトのみを取得するようにハンドラー コードを調整する方法を誰かが知っているかどうかです。「OS名とバージョン」オブジェクトは本当に役に立たないからです。このようなものがいいでしょう:
"OS name and version command('awk \'{ printf("%s %s ....')"
"OS name and version command('awk -F . \'{printf ....')"
よろしくお願いします