ChienomiChienomiPureDocの自動since入れヘッダに使用し、これまで手動で書いてきたsinceプロパティだが、本来であれば「書き始めた時」でなく「はじめて生成された時」であるべきだし、それは自動で行われるべきものだ。そこで、実際にそのような機能を追加してみた。PureDocトランスレータ本体ではなく、トランスレーションユーティリティ(puredoc-translation)が処理する。end従来は単にヘッダーを読んでいたところだが、ヘッダーがある場合に限り別の処理をしている。最初のARGVを保存しているのは、ARGFをよんでしまうとARGVが変化するため。STDOUTに吐くプログラムなので、処理するのは最初に引数として与えられたファイルに対してだけ、もしSTDINから入れた場合も触らない。last-updateはmtimeに設定している。YAMLから作られるタイムスタンプスカラーがTimeなのかDateTimeなのか、実験してみたら、Timeだった。DateTimeにしてくれたほうがいいのに...last-updateは更新するため、ヘッダー文字列を分解する時点で除外している。sinceプロパティが存在するかどうかについてはYAMLとして理解した上でやっているが、書き換え操作は純粋に文字列処理となっていて、別物だ。writeの順が正しいらしい。seekしてwriteしてからfile.truncate(file.pos)でも問題ないとは思うが。これで自動的にsinceとlast-updateが入るようになった。