summaryrefslogtreecommitdiff
path: root/doc/ruby/missing_options.rb
diff options
context:
space:
mode:
Diffstat (limited to 'doc/ruby/missing_options.rb')
-rw-r--r--doc/ruby/missing_options.rb12
1 files changed, 12 insertions, 0 deletions
diff --git a/doc/ruby/missing_options.rb b/doc/ruby/missing_options.rb
new file mode 100644
index 0000000000..9428463cfd
--- /dev/null
+++ b/doc/ruby/missing_options.rb
@@ -0,0 +1,12 @@
+require 'optparse'
+parser = OptionParser.new
+parser.on('-x', '--xxx', 'Short and long, no argument')
+parser.on('-yYYY', '--yyy', 'Short and long, required argument')
+parser.on('-z [ZZZ]', '--zzz', 'Short and long, optional argument')
+options = {}
+parser.parse!(into: options)
+required_options = [:xxx, :zzz]
+missing_options = required_options - options.keys
+unless missing_options.empty?
+ fail "Missing required options: #{missing_options}"
+end