Je pense que le moyen le plus simple serait d'analyser séparément l'option cachée avant d'appeler parse!
sur l'analyseur d'option.
if ARGV.delete '--secret'
...
end
OptionParser.new do |opts|
...
end.parse!
Cela signifie que vous devrez gérer manuellement l'analyse des options cachées. Alternativement, vous pouvez définir un OptionParser
séparé pour les options cachées et sauver OptionParser::InvalidOption
lors de l'analyse, puis analyser avec l'analyseur normal. Mais ce serait sensible à l'ordre dans lequel les options sont spécifiées.