2016-07-22 3 views

ответ

0

Я думаю, что самым простым способом было бы раздельно разобрать скрытый параметр перед вызовом parse! в парсере параметров.

if ARGV.delete '--secret' 
    ... 
end 

OptionParser.new do |opts| 
    ... 
end.parse! 

Хотя это означает, что вам необходимо вручную обработать скрытый синтаксический анализ. В качестве альтернативы вы можете определить отдельный OptionParser для скрытых параметров и спасения OptionParser::InvalidOption, когда он анализирует, а затем анализирует с помощью обычного анализатора. Но это будет чувствительно к порядку, в котором указаны параметры.