cli-option_parser.rb 0.5.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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 +13 -0
- data/.rdoc_options +4 -0
- data/COPYING +56 -0
- data/Gemfile +5 -0
- data/README.md +59 -0
- data/Rakefile +14 -0
- data/cli-option_parser.rb.gemspec +23 -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/cli/option_parser/ac.rb +52 -0
- data/lib/cli/option_parser/date.rb +16 -0
- data/lib/cli/option_parser/kwargs.rb +21 -0
- data/lib/cli/option_parser/shellwords.rb +4 -0
- data/lib/cli/option_parser/time.rb +9 -0
- data/lib/cli/option_parser/uri.rb +4 -0
- data/lib/cli/option_parser/version.rb +71 -0
- data/lib/cli/option_parser.rb +2353 -0
- data/lib/cli-option_parser.rb +1 -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!
|