to_yamlメソッドは素晴らしいYAML出力を生成しますが、いくつかの要素の前にコメント行を含めたいと思います。そうする方法はありますか?
たとえば、私は以下を作成したいと思います。
# hostname or IP address of client
client: host4.example.com
# hostname or IP address of server
server: 192.168.222.222
次のようなものから:
{
:client => 'host4.example.com',
:server => '192.168.222.222',
}.to_yaml
...しかし、YAMLモジュールに達成する方法があるかどうかはわかりません。
更新:コメントからデータを分離する必要があるため、コメントを挿入するために正規表現を使用するソリューションを使用しないことになりました。私にとって最も簡単で理解しやすい解決策は次のとおりです。
require 'yaml'
source = <<SOURCE
# hostname or IP address of client
client: host4.example.com
# hostname or IP address of server
server: 192.168.222.222
SOURCE
conf = YAML::load(source)
puts source
私にとっての利点は、何も繰り返されず(たとえば、「client:」は1回だけ指定される)、データとコメントが一緒になり、ソースをYAMLとして出力でき、データ構造(confで利用可能)が使用する。