Wir verwenden OptionParser für alle neuen Skripte, aber hatten über 100, die RDoc verwendet. Anstatt jeden neu zu schreiben, habe ich diese Methode geschrieben (BB ist der Namensraum unserer Firma. Ändere das, was immer du willst). Es funktioniert großartig. Die Syntax ist ein wenig anders, aber der Hilfetext ist uns egal. Ich hoffe es hilft!
Ich habe dann sed verwendet, um alle Skripte zu finden und sie zu ändern.
grep -rl "RDoc::usage" * | xargs sed -i "/rdoc\/usage/ s/RDoc/BB/"
grep -rl "BB::usage" * | xargs sed -i "/rdoc\/usage/ s/rdoc/lib\/bb/"
-
module BB
def BB::usage(exit_code)
File::open($0, 'r').readlines.each_with_index do | line, idx |
next if idx == 0
if(line =~ /^#/)
puts line.gsub(/^#\ ?/,'')
else
puts #RDoc adds extra line so we do too
exit(exit_code)
end
end
end
end