Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 5618eeb

Browse files
Enhanced doc for option parameters (#11)
1 parent 84dfd92 commit 5618eeb

37 files changed

+1106
-0
lines changed
+6
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
require 'optparse'
2+
parser = OptionParser.new
3+
parser.on('-x', '--xxx', :REQUIRED, 'Required argument') do |value|
4+
p ['--xxx', value]
5+
end
6+
parser.parse!

doc/option_params/argument_strings.rb

+6
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
require 'optparse'
2+
parser = OptionParser.new
3+
parser.on('-x', '--xxx', '=XXX', 'Required argument') do |value|
4+
p ['--xxx', value]
5+
end
6+
parser.parse!

doc/option_params/array.rb

+6
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
require 'optparse'
2+
parser = OptionParser.new
3+
parser.on('--array=ARRAY', Array) do |value|
4+
p [value, value.class]
5+
end
6+
parser.parse!

doc/option_params/block.rb

+9
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
require 'optparse'
2+
parser = OptionParser.new
3+
parser.on('--xxx', 'Option with no argument') do |value|
4+
p ['Handler block for -xxx called with value:', value]
5+
end
6+
parser.on('--yyy YYY', 'Option with required argument') do |value|
7+
p ['Handler block for -yyy called with value:', value]
8+
end
9+
parser.parse!

doc/option_params/date.rb

+6
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
require 'optparse/date'
2+
parser = OptionParser.new
3+
parser.on('--date=DATE', Date) do |value|
4+
p [value, value.class]
5+
end
6+
parser.parse!

doc/option_params/datetime.rb

+6
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
require 'optparse/date'
2+
parser = OptionParser.new
3+
parser.on('--datetime=DATETIME', DateTime) do |value|
4+
p [value, value.class]
5+
end
6+
parser.parse!

doc/option_params/decimal_integer.rb

+7
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
require 'optparse'
2+
include OptionParser::Acceptables
3+
parser = OptionParser.new
4+
parser.on('--decimal_integer=DECIMAL_INTEGER', DecimalInteger) do |value|
5+
p [value, value.class]
6+
end
7+
parser.parse!

doc/option_params/decimal_numeric.rb

+7
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
require 'optparse'
2+
include OptionParser::Acceptables
3+
parser = OptionParser.new
4+
parser.on('--decimal_numeric=DECIMAL_NUMERIC', DecimalNumeric) do |value|
5+
p [value, value.class]
6+
end
7+
parser.parse!

doc/option_params/descriptions.rb

+15
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
require 'optparse'
2+
parser = OptionParser.new
3+
description = <<-EOT
4+
Lorem ipsum dolor sit amet, consectetuer
5+
adipiscing elit. Aenean commodo ligula eget.
6+
Aenean massa. Cum sociis natoque penatibus
7+
et magnis dis parturient montes, nascetur
8+
ridiculus mus. Donec quam felis, ultricies
9+
nec, pellentesque eu, pretium quis, sem.
10+
EOT
11+
descriptions = description.split($/)
12+
parser.on('--xxx', *descriptions) do |value|
13+
p ['--xxx', value]
14+
end
15+
parser.parse!
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
require 'optparse'
2+
parser = OptionParser.new
3+
parser.on('-xXXX', ['foo', 'bar'], 'Values for required argument' ) do |value|
4+
p ['-x', value]
5+
end
6+
parser.on('-y [YYY]', ['baz', 'bat'], 'Values for optional argument') do |value|
7+
p ['-y', value]
8+
end
9+
parser.parse!
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
require 'optparse'
2+
parser = OptionParser.new
3+
parser.on('-xXXX', {foo: 0, bar: 1}, 'Values for required argument' ) do |value|
4+
p ['-x', value]
5+
end
6+
parser.on('-y [YYY]', {baz: 2, bat: 3}, 'Values for optional argument') do |value|
7+
p ['-y', value]
8+
end
9+
parser.parse!

doc/option_params/false_class.rb

+6
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
require 'optparse'
2+
parser = OptionParser.new
3+
parser.on('--false_class=FALSE_CLASS', FalseClass) do |value|
4+
p [value, value.class]
5+
end
6+
parser.parse!

doc/option_params/float.rb

+6
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
require 'optparse'
2+
parser = OptionParser.new
3+
parser.on('--float=FLOAT', Float) do |value|
4+
p [value, value.class]
5+
end
6+
parser.parse!

doc/option_params/integer.rb

+6
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
require 'optparse'
2+
parser = OptionParser.new
3+
parser.on('--integer=INTEGER', Integer) do |value|
4+
p [value, value.class]
5+
end
6+
parser.parse!

doc/option_params/long_binary.rb

+6
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
require 'optparse'
2+
parser = OptionParser.new
3+
parser.on('--[no-]binary') do |value|
4+
p [value, value.class]
5+
end
6+
parser.parse!

doc/option_params/long_optional.rb

+6
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
require 'optparse'
2+
parser = OptionParser.new
3+
parser.on('--xxx [XXX]', 'Long name with optional argument') do |value|
4+
p ['--xxx', value]
5+
end
6+
parser.parse!

doc/option_params/long_required.rb

+6
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
require 'optparse'
2+
parser = OptionParser.new
3+
parser.on('--xxx XXX', 'Long name with required argument') do |value|
4+
p ['--xxx', value]
5+
end
6+
parser.parse!

doc/option_params/long_simple.rb

+9
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
require 'optparse'
2+
parser = OptionParser.new
3+
parser.on('--xxx', 'One long name') do |value|
4+
p ['--xxx', value]
5+
end
6+
parser.on('--y1%', '--z2#', 'Two long names (aliases)') do |value|
7+
p ['--y1% or --z2#', value]
8+
end
9+
parser.parse!

doc/option_params/matched_values.rb

+6
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
require 'optparse'
2+
parser = OptionParser.new
3+
parser.on('--xxx XXX', /foo/i, 'Matched values') do |value|
4+
p ['--xxx', value]
5+
end
6+
parser.parse!

doc/option_params/method.rb

+11
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
require 'optparse'
2+
parser = OptionParser.new
3+
def xxx_handler(value)
4+
p ['Handler method for -xxx called with value:', value]
5+
end
6+
parser.on('--xxx', 'Option with no argument', method(:xxx_handler))
7+
def yyy_handler(value)
8+
p ['Handler method for -yyy called with value:', value]
9+
end
10+
parser.on('--yyy YYY', 'Option with required argument', method(:yyy_handler))
11+
parser.parse!

doc/option_params/mixed_names.rb

+12
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
require 'optparse'
2+
parser = OptionParser.new
3+
parser.on('-x', '--xxx', 'Short and long, simple') do |value|
4+
p ['--xxx', value]
5+
end
6+
parser.on('-yYYY', '--yyy', 'Short and long, required argument') do |value|
7+
p ['--yyy', value]
8+
end
9+
parser.on('-z [ZZZ]', '--zzz', 'Short and long, optional argument') do |value|
10+
p ['--zzz', value]
11+
end
12+
parser.parse!

doc/option_params/numeric.rb

+6
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
require 'optparse'
2+
parser = OptionParser.new
3+
parser.on('--numeric=NUMERIC', Numeric) do |value|
4+
p [value, value.class]
5+
end
6+
parser.parse!

doc/option_params/object.rb

+6
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
require 'optparse'
2+
parser = OptionParser.new
3+
parser.on('--object=OBJECT', Object) do |value|
4+
p [value, value.class]
5+
end
6+
parser.parse!

doc/option_params/octal_integer.rb

+7
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
require 'optparse'
2+
include OptionParser::Acceptables
3+
parser = OptionParser.new
4+
parser.on('--octal_integer=OCTAL_INTEGER', OctalInteger) do |value|
5+
p [value, value.class]
6+
end
7+
parser.parse!

0 commit comments

Comments
 (0)