Skip to content

Commit

Permalink
[ruby/optparse] Enhanced doc for option parameters (ruby/optparse#11)
Browse files Browse the repository at this point in the history
  • Loading branch information
BurdetteLamar authored and hsbt committed Jul 28, 2021
1 parent 05e9efa commit a4631a4
Show file tree
Hide file tree
Showing 37 changed files with 1,106 additions and 0 deletions.
6 changes: 6 additions & 0 deletions doc/option_params/argument_keywords.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
require 'optparse'
parser = OptionParser.new
parser.on('-x', '--xxx', :REQUIRED, 'Required argument') do |value|
p ['--xxx', value]
end
parser.parse!
6 changes: 6 additions & 0 deletions doc/option_params/argument_strings.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
require 'optparse'
parser = OptionParser.new
parser.on('-x', '--xxx', '=XXX', 'Required argument') do |value|
p ['--xxx', value]
end
parser.parse!
6 changes: 6 additions & 0 deletions doc/option_params/array.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
require 'optparse'
parser = OptionParser.new
parser.on('--array=ARRAY', Array) do |value|
p [value, value.class]
end
parser.parse!
9 changes: 9 additions & 0 deletions doc/option_params/block.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
require 'optparse'
parser = OptionParser.new
parser.on('--xxx', 'Option with no argument') do |value|
p ['Handler block for -xxx called with value:', value]
end
parser.on('--yyy YYY', 'Option with required argument') do |value|
p ['Handler block for -yyy called with value:', value]
end
parser.parse!
6 changes: 6 additions & 0 deletions doc/option_params/date.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
require 'optparse/date'
parser = OptionParser.new
parser.on('--date=DATE', Date) do |value|
p [value, value.class]
end
parser.parse!
6 changes: 6 additions & 0 deletions doc/option_params/datetime.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
require 'optparse/date'
parser = OptionParser.new
parser.on('--datetime=DATETIME', DateTime) do |value|
p [value, value.class]
end
parser.parse!
7 changes: 7 additions & 0 deletions doc/option_params/decimal_integer.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
require 'optparse'
include OptionParser::Acceptables
parser = OptionParser.new
parser.on('--decimal_integer=DECIMAL_INTEGER', DecimalInteger) do |value|
p [value, value.class]
end
parser.parse!
7 changes: 7 additions & 0 deletions doc/option_params/decimal_numeric.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
require 'optparse'
include OptionParser::Acceptables
parser = OptionParser.new
parser.on('--decimal_numeric=DECIMAL_NUMERIC', DecimalNumeric) do |value|
p [value, value.class]
end
parser.parse!
15 changes: 15 additions & 0 deletions doc/option_params/descriptions.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
require 'optparse'
parser = OptionParser.new
description = <<-EOT
Lorem ipsum dolor sit amet, consectetuer
adipiscing elit. Aenean commodo ligula eget.
Aenean massa. Cum sociis natoque penatibus
et magnis dis parturient montes, nascetur
ridiculus mus. Donec quam felis, ultricies
nec, pellentesque eu, pretium quis, sem.
EOT
descriptions = description.split($/)
parser.on('--xxx', *descriptions) do |value|
p ['--xxx', value]
end
parser.parse!
9 changes: 9 additions & 0 deletions doc/option_params/explicit_array_values.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
require 'optparse'
parser = OptionParser.new
parser.on('-xXXX', ['foo', 'bar'], 'Values for required argument' ) do |value|
p ['-x', value]
end
parser.on('-y [YYY]', ['baz', 'bat'], 'Values for optional argument') do |value|
p ['-y', value]
end
parser.parse!
9 changes: 9 additions & 0 deletions doc/option_params/explicit_hash_values.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
require 'optparse'
parser = OptionParser.new
parser.on('-xXXX', {foo: 0, bar: 1}, 'Values for required argument' ) do |value|
p ['-x', value]
end
parser.on('-y [YYY]', {baz: 2, bat: 3}, 'Values for optional argument') do |value|
p ['-y', value]
end
parser.parse!
6 changes: 6 additions & 0 deletions doc/option_params/false_class.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
require 'optparse'
parser = OptionParser.new
parser.on('--false_class=FALSE_CLASS', FalseClass) do |value|
p [value, value.class]
end
parser.parse!
6 changes: 6 additions & 0 deletions doc/option_params/float.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
require 'optparse'
parser = OptionParser.new
parser.on('--float=FLOAT', Float) do |value|
p [value, value.class]
end
parser.parse!
6 changes: 6 additions & 0 deletions doc/option_params/integer.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
require 'optparse'
parser = OptionParser.new
parser.on('--integer=INTEGER', Integer) do |value|
p [value, value.class]
end
parser.parse!
6 changes: 6 additions & 0 deletions doc/option_params/long_binary.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
require 'optparse'
parser = OptionParser.new
parser.on('--[no-]binary') do |value|
p [value, value.class]
end
parser.parse!
6 changes: 6 additions & 0 deletions doc/option_params/long_optional.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
require 'optparse'
parser = OptionParser.new
parser.on('--xxx [XXX]', 'Long name with optional argument') do |value|
p ['--xxx', value]
end
parser.parse!
6 changes: 6 additions & 0 deletions doc/option_params/long_required.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
require 'optparse'
parser = OptionParser.new
parser.on('--xxx XXX', 'Long name with required argument') do |value|
p ['--xxx', value]
end
parser.parse!
9 changes: 9 additions & 0 deletions doc/option_params/long_simple.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
require 'optparse'
parser = OptionParser.new
parser.on('--xxx', 'One long name') do |value|
p ['--xxx', value]
end
parser.on('--y1%', '--z2#', 'Two long names (aliases)') do |value|
p ['--y1% or --z2#', value]
end
parser.parse!
6 changes: 6 additions & 0 deletions doc/option_params/matched_values.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
require 'optparse'
parser = OptionParser.new
parser.on('--xxx XXX', /foo/i, 'Matched values') do |value|
p ['--xxx', value]
end
parser.parse!
11 changes: 11 additions & 0 deletions doc/option_params/method.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
require 'optparse'
parser = OptionParser.new
def xxx_handler(value)
p ['Handler method for -xxx called with value:', value]
end
parser.on('--xxx', 'Option with no argument', method(:xxx_handler))
def yyy_handler(value)
p ['Handler method for -yyy called with value:', value]
end
parser.on('--yyy YYY', 'Option with required argument', method(:yyy_handler))
parser.parse!
12 changes: 12 additions & 0 deletions doc/option_params/mixed_names.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
require 'optparse'
parser = OptionParser.new
parser.on('-x', '--xxx', 'Short and long, simple') do |value|
p ['--xxx', value]
end
parser.on('-yYYY', '--yyy', 'Short and long, required argument') do |value|
p ['--yyy', value]
end
parser.on('-z [ZZZ]', '--zzz', 'Short and long, optional argument') do |value|
p ['--zzz', value]
end
parser.parse!
6 changes: 6 additions & 0 deletions doc/option_params/numeric.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
require 'optparse'
parser = OptionParser.new
parser.on('--numeric=NUMERIC', Numeric) do |value|
p [value, value.class]
end
parser.parse!
6 changes: 6 additions & 0 deletions doc/option_params/object.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
require 'optparse'
parser = OptionParser.new
parser.on('--object=OBJECT', Object) do |value|
p [value, value.class]
end
parser.parse!
7 changes: 7 additions & 0 deletions doc/option_params/octal_integer.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
require 'optparse'
include OptionParser::Acceptables
parser = OptionParser.new
parser.on('--octal_integer=OCTAL_INTEGER', OctalInteger) do |value|
p [value, value.class]
end
parser.parse!
Loading

0 comments on commit a4631a4

Please sign in to comment.