cmd-optparse.rb 0.1.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/.bundle/config +2 -0
- data/.document +7 -0
- data/.editorconfig +13 -0
- data/.github/dependabot.yml +6 -0
- data/.github/workflows/test.yml +26 -0
- data/.gitignore +12 -0
- data/.rdoc_options +4 -0
- data/COPYING +56 -0
- data/Gemfile +5 -0
- data/README.md +59 -0
- data/Rakefile +14 -0
- data/cmd-optparse.rb.gemspec +30 -0
- data/doc/optparse/.document +1 -0
- data/doc/optparse/argument_converters.rdoc +380 -0
- data/doc/optparse/creates_option.rdoc +7 -0
- data/doc/optparse/option_params.rdoc +509 -0
- data/doc/optparse/ruby/argument_abbreviation.rb +9 -0
- data/doc/optparse/ruby/argument_keywords.rb +6 -0
- data/doc/optparse/ruby/argument_strings.rb +6 -0
- data/doc/optparse/ruby/argv.rb +2 -0
- data/doc/optparse/ruby/array.rb +6 -0
- data/doc/optparse/ruby/basic.rb +17 -0
- data/doc/optparse/ruby/block.rb +9 -0
- data/doc/optparse/ruby/collected_options.rb +8 -0
- data/doc/optparse/ruby/custom_converter.rb +9 -0
- data/doc/optparse/ruby/date.rb +6 -0
- data/doc/optparse/ruby/datetime.rb +6 -0
- data/doc/optparse/ruby/decimal_integer.rb +7 -0
- data/doc/optparse/ruby/decimal_numeric.rb +7 -0
- data/doc/optparse/ruby/default_values.rb +8 -0
- data/doc/optparse/ruby/descriptions.rb +15 -0
- data/doc/optparse/ruby/explicit_array_values.rb +9 -0
- data/doc/optparse/ruby/explicit_hash_values.rb +9 -0
- data/doc/optparse/ruby/false_class.rb +6 -0
- data/doc/optparse/ruby/float.rb +6 -0
- data/doc/optparse/ruby/help.rb +18 -0
- data/doc/optparse/ruby/help_banner.rb +7 -0
- data/doc/optparse/ruby/help_format.rb +25 -0
- data/doc/optparse/ruby/help_program_name.rb +7 -0
- data/doc/optparse/ruby/integer.rb +6 -0
- data/doc/optparse/ruby/long_names.rb +9 -0
- data/doc/optparse/ruby/long_optional.rb +6 -0
- data/doc/optparse/ruby/long_required.rb +6 -0
- data/doc/optparse/ruby/long_simple.rb +9 -0
- data/doc/optparse/ruby/long_with_negation.rb +6 -0
- data/doc/optparse/ruby/match_converter.rb +9 -0
- data/doc/optparse/ruby/matched_values.rb +6 -0
- data/doc/optparse/ruby/method.rb +11 -0
- data/doc/optparse/ruby/missing_options.rb +12 -0
- data/doc/optparse/ruby/mixed_names.rb +12 -0
- data/doc/optparse/ruby/name_abbrev.rb +9 -0
- data/doc/optparse/ruby/no_abbreviation.rb +10 -0
- data/doc/optparse/ruby/numeric.rb +6 -0
- data/doc/optparse/ruby/object.rb +6 -0
- data/doc/optparse/ruby/octal_integer.rb +7 -0
- data/doc/optparse/ruby/optional_argument.rb +9 -0
- data/doc/optparse/ruby/parse.rb +13 -0
- data/doc/optparse/ruby/parse_bang.rb +13 -0
- data/doc/optparse/ruby/proc.rb +13 -0
- data/doc/optparse/ruby/regexp.rb +6 -0
- data/doc/optparse/ruby/required_argument.rb +9 -0
- data/doc/optparse/ruby/shellwords.rb +6 -0
- data/doc/optparse/ruby/short_names.rb +9 -0
- data/doc/optparse/ruby/short_optional.rb +6 -0
- data/doc/optparse/ruby/short_range.rb +6 -0
- data/doc/optparse/ruby/short_required.rb +6 -0
- data/doc/optparse/ruby/short_simple.rb +9 -0
- data/doc/optparse/ruby/string.rb +6 -0
- data/doc/optparse/ruby/terminator.rb +6 -0
- data/doc/optparse/ruby/time.rb +6 -0
- data/doc/optparse/ruby/true_class.rb +6 -0
- data/doc/optparse/ruby/uri.rb +6 -0
- data/doc/optparse/tutorial.rdoc +858 -0
- data/lib/optionparser.rb +2 -0
- data/lib/optparse/ac.rb +54 -0
- data/lib/optparse/date.rb +18 -0
- data/lib/optparse/kwargs.rb +22 -0
- data/lib/optparse/shellwords.rb +7 -0
- data/lib/optparse/time.rb +11 -0
- data/lib/optparse/uri.rb +7 -0
- data/lib/optparse/version.rb +71 -0
- data/lib/optparse.rb +2346 -0
- data/misc/rb_optparse.bash +21 -0
- data/misc/rb_optparse.zsh +39 -0
- data/rakelib/.document +0 -0
- data/rakelib/changelogs.rake +34 -0
- data/rakelib/epoch.rake +5 -0
- data/rakelib/version.rake +51 -0
- data/test/lib/helper.rb +4 -0
- data/test/optparse/test_acceptable.rb +198 -0
- data/test/optparse/test_autoconf.rb +69 -0
- data/test/optparse/test_bash_completion.rb +46 -0
- data/test/optparse/test_cclass.rb +18 -0
- data/test/optparse/test_did_you_mean.rb +48 -0
- data/test/optparse/test_getopts.rb +49 -0
- data/test/optparse/test_kwargs.rb +38 -0
- data/test/optparse/test_load.rb +141 -0
- data/test/optparse/test_noarg.rb +79 -0
- data/test/optparse/test_optarg.rb +60 -0
- data/test/optparse/test_optparse.rb +127 -0
- data/test/optparse/test_placearg.rb +76 -0
- data/test/optparse/test_reqarg.rb +95 -0
- data/test/optparse/test_summary.rb +81 -0
- data/test/optparse/test_zsh_completion.rb +21 -0
- metadata +154 -0
@@ -0,0 +1,18 @@
|
|
1
|
+
require 'optparse'
|
2
|
+
parser = OptionParser.new
|
3
|
+
parser.on(
|
4
|
+
'-x', '--xxx',
|
5
|
+
'Adipiscing elit. Aenean commodo ligula eget.',
|
6
|
+
'Aenean massa. Cum sociis natoque penatibus',
|
7
|
+
)
|
8
|
+
parser.on(
|
9
|
+
'-y', '--yyy YYY',
|
10
|
+
'Lorem ipsum dolor sit amet, consectetuer.'
|
11
|
+
)
|
12
|
+
parser.on(
|
13
|
+
'-z', '--zzz [ZZZ]',
|
14
|
+
'Et magnis dis parturient montes, nascetur',
|
15
|
+
'ridiculus mus. Donec quam felis, ultricies',
|
16
|
+
'nec, pellentesque eu, pretium quis, sem.',
|
17
|
+
)
|
18
|
+
parser.parse!
|
@@ -0,0 +1,25 @@
|
|
1
|
+
require 'optparse'
|
2
|
+
parser = OptionParser.new(
|
3
|
+
'ruby help_format.rb [options]', # Banner
|
4
|
+
20, # Width of options field
|
5
|
+
' ' * 2 # Indentation
|
6
|
+
)
|
7
|
+
parser.on(
|
8
|
+
'-x', '--xxx',
|
9
|
+
'Adipiscing elit. Aenean commodo ligula eget.',
|
10
|
+
'Aenean massa. Cum sociis natoque penatibus',
|
11
|
+
)
|
12
|
+
parser.on(
|
13
|
+
'-y', '--yyy YYY',
|
14
|
+
'Lorem ipsum dolor sit amet, consectetuer.'
|
15
|
+
)
|
16
|
+
parser.on(
|
17
|
+
'-z', '--zzz [ZZZ]',
|
18
|
+
'Et magnis dis parturient montes, nascetur',
|
19
|
+
'ridiculus mus. Donec quam felis, ultricies',
|
20
|
+
'nec, pellentesque eu, pretium quis, sem.',
|
21
|
+
)
|
22
|
+
parser.parse!
|
23
|
+
|
24
|
+
|
25
|
+
|
@@ -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!
|
@@ -0,0 +1,12 @@
|
|
1
|
+
require 'optparse'
|
2
|
+
parser = OptionParser.new
|
3
|
+
parser.on('-x', '--xxx', 'Short and long, no argument')
|
4
|
+
parser.on('-yYYY', '--yyy', 'Short and long, required argument')
|
5
|
+
parser.on('-z [ZZZ]', '--zzz', 'Short and long, optional argument')
|
6
|
+
options = {}
|
7
|
+
parser.parse!(into: options)
|
8
|
+
required_options = [:xxx, :zzz]
|
9
|
+
missing_options = required_options - options.keys
|
10
|
+
unless missing_options.empty?
|
11
|
+
fail "Missing required options: #{missing_options}"
|
12
|
+
end
|
@@ -0,0 +1,12 @@
|
|
1
|
+
require 'optparse'
|
2
|
+
parser = OptionParser.new
|
3
|
+
parser.on('-x', '--xxx', 'Short and long, no argument') 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!
|
@@ -0,0 +1,9 @@
|
|
1
|
+
require 'optparse'
|
2
|
+
parser = OptionParser.new
|
3
|
+
parser.on('-x [XXX]', '--xxx', 'Optional argument via short name') do |value|
|
4
|
+
p ['--xxx', value]
|
5
|
+
end
|
6
|
+
parser.on('-y', '--yyy [YYY]', 'Optional argument via long name') do |value|
|
7
|
+
p ['--yyy', value]
|
8
|
+
end
|
9
|
+
parser.parse!
|
@@ -0,0 +1,13 @@
|
|
1
|
+
require 'optparse'
|
2
|
+
parser = OptionParser.new
|
3
|
+
parser.on('--xxx') do |value|
|
4
|
+
p ['--xxx', value]
|
5
|
+
end
|
6
|
+
parser.on('--yyy YYY') do |value|
|
7
|
+
p ['--yyy', value]
|
8
|
+
end
|
9
|
+
parser.on('--zzz [ZZZ]') do |value|
|
10
|
+
p ['--zzz', value]
|
11
|
+
end
|
12
|
+
ret = parser.parse(ARGV)
|
13
|
+
puts "Returned: #{ret} (#{ret.class})"
|
@@ -0,0 +1,13 @@
|
|
1
|
+
require 'optparse'
|
2
|
+
parser = OptionParser.new
|
3
|
+
parser.on('--xxx') do |value|
|
4
|
+
p ['--xxx', value]
|
5
|
+
end
|
6
|
+
parser.on('--yyy YYY') do |value|
|
7
|
+
p ['--yyy', value]
|
8
|
+
end
|
9
|
+
parser.on('--zzz [ZZZ]') do |value|
|
10
|
+
p ['--zzz', value]
|
11
|
+
end
|
12
|
+
ret = parser.parse!
|
13
|
+
puts "Returned: #{ret} (#{ret.class})"
|
@@ -0,0 +1,13 @@
|
|
1
|
+
require 'optparse'
|
2
|
+
parser = OptionParser.new
|
3
|
+
parser.on(
|
4
|
+
'--xxx',
|
5
|
+
'Option with no argument',
|
6
|
+
->(value) {p ['Handler proc for -xxx called with value:', value]}
|
7
|
+
)
|
8
|
+
parser.on(
|
9
|
+
'--yyy YYY',
|
10
|
+
'Option with required argument',
|
11
|
+
->(value) {p ['Handler proc for -yyy called with value:', value]}
|
12
|
+
)
|
13
|
+
parser.parse!
|
@@ -0,0 +1,9 @@
|
|
1
|
+
require 'optparse'
|
2
|
+
parser = OptionParser.new
|
3
|
+
parser.on('-x XXX', '--xxx', 'Required argument via short name') do |value|
|
4
|
+
p ['--xxx', value]
|
5
|
+
end
|
6
|
+
parser.on('-y', '--y YYY', 'Required argument via long name') do |value|
|
7
|
+
p ['--yyy', value]
|
8
|
+
end
|
9
|
+
parser.parse!
|