summaryrefslogtreecommitdiff
path: root/doc/optparse/ruby
diff options
context:
space:
mode:
Diffstat (limited to 'doc/optparse/ruby')
-rw-r--r--doc/optparse/ruby/argument_abbreviation.rb9
-rw-r--r--doc/optparse/ruby/basic.rb17
-rw-r--r--doc/optparse/ruby/help.rb18
-rw-r--r--doc/optparse/ruby/help_banner.rb7
-rw-r--r--doc/optparse/ruby/help_format.rb25
-rw-r--r--doc/optparse/ruby/help_program_name.rb7
-rw-r--r--doc/optparse/ruby/match_converter.rb9
-rw-r--r--doc/optparse/ruby/matched_values.rb6
-rw-r--r--doc/optparse/ruby/name_abbrev.rb (renamed from doc/optparse/ruby/abbreviation.rb)0
-rw-r--r--doc/optparse/ruby/parse.rb13
-rw-r--r--doc/optparse/ruby/parse_bang.rb13
11 files changed, 124 insertions, 0 deletions
diff --git a/doc/optparse/ruby/argument_abbreviation.rb b/doc/optparse/ruby/argument_abbreviation.rb
new file mode 100644
index 0000000000..49007ebe69
--- /dev/null
+++ b/doc/optparse/ruby/argument_abbreviation.rb
@@ -0,0 +1,9 @@
+require 'optparse'
+parser = OptionParser.new
+parser.on('-x', '--xxx=VALUE', %w[ABC def], 'Argument abbreviations') do |value|
+ p ['--xxx', value]
+end
+parser.on('-y', '--yyy=VALUE', {"abc"=>"XYZ", def: "FOO"}, 'Argument abbreviations') do |value|
+ p ['--yyy', value]
+end
+parser.parse!
diff --git a/doc/optparse/ruby/basic.rb b/doc/optparse/ruby/basic.rb
new file mode 100644
index 0000000000..91d37627c0
--- /dev/null
+++ b/doc/optparse/ruby/basic.rb
@@ -0,0 +1,17 @@
+# Require the OptionParser code.
+require 'optparse'
+# Create an OptionParser object.
+parser = OptionParser.new
+# Define one or more options.
+parser.on('-x', 'Whether to X') do |value|
+ p ['x', value]
+end
+parser.on('-y', 'Whether to Y') do |value|
+ p ['y', value]
+end
+parser.on('-z', 'Whether to Z') do |value|
+ p ['z', value]
+end
+# Parse the command line and return pared-down ARGV.
+p parser.parse!
+
diff --git a/doc/optparse/ruby/help.rb b/doc/optparse/ruby/help.rb
new file mode 100644
index 0000000000..95bcde1d77
--- /dev/null
+++ b/doc/optparse/ruby/help.rb
@@ -0,0 +1,18 @@
+require 'optparse'
+parser = OptionParser.new
+parser.on(
+ '-x', '--xxx',
+ 'Adipiscing elit. Aenean commodo ligula eget.',
+ 'Aenean massa. Cum sociis natoque penatibus',
+ )
+parser.on(
+ '-y', '--yyy YYY',
+ 'Lorem ipsum dolor sit amet, consectetuer.'
+)
+parser.on(
+ '-z', '--zzz [ZZZ]',
+ 'Et magnis dis parturient montes, nascetur',
+ 'ridiculus mus. Donec quam felis, ultricies',
+ 'nec, pellentesque eu, pretium quis, sem.',
+ )
+parser.parse!
diff --git a/doc/optparse/ruby/help_banner.rb b/doc/optparse/ruby/help_banner.rb
new file mode 100644
index 0000000000..0943a3e029
--- /dev/null
+++ b/doc/optparse/ruby/help_banner.rb
@@ -0,0 +1,7 @@
+require 'optparse'
+parser = OptionParser.new
+parser.banner = "Usage: ruby help_banner.rb"
+parser.parse!
+
+
+
diff --git a/doc/optparse/ruby/help_format.rb b/doc/optparse/ruby/help_format.rb
new file mode 100644
index 0000000000..a2f1e85b00
--- /dev/null
+++ b/doc/optparse/ruby/help_format.rb
@@ -0,0 +1,25 @@
+require 'optparse'
+parser = OptionParser.new(
+ 'ruby help_format.rb [options]', # Banner
+ 20, # Width of options field
+ ' ' * 2 # Indentation
+)
+parser.on(
+ '-x', '--xxx',
+ 'Adipiscing elit. Aenean commodo ligula eget.',
+ 'Aenean massa. Cum sociis natoque penatibus',
+ )
+parser.on(
+ '-y', '--yyy YYY',
+ 'Lorem ipsum dolor sit amet, consectetuer.'
+)
+parser.on(
+ '-z', '--zzz [ZZZ]',
+ 'Et magnis dis parturient montes, nascetur',
+ 'ridiculus mus. Donec quam felis, ultricies',
+ 'nec, pellentesque eu, pretium quis, sem.',
+ )
+parser.parse!
+
+
+
diff --git a/doc/optparse/ruby/help_program_name.rb b/doc/optparse/ruby/help_program_name.rb
new file mode 100644
index 0000000000..7b3fbff067
--- /dev/null
+++ b/doc/optparse/ruby/help_program_name.rb
@@ -0,0 +1,7 @@
+require 'optparse'
+parser = OptionParser.new
+parser.program_name = 'help_program_name.rb'
+parser.parse!
+
+
+
diff --git a/doc/optparse/ruby/match_converter.rb b/doc/optparse/ruby/match_converter.rb
new file mode 100644
index 0000000000..13dc5fcb51
--- /dev/null
+++ b/doc/optparse/ruby/match_converter.rb
@@ -0,0 +1,9 @@
+require 'optparse/date'
+parser = OptionParser.new
+parser.accept(:capitalize, /\w*/) do |value|
+ value.capitalize
+end
+parser.on('--capitalize XXX', :capitalize) do |value|
+ p [value, value.class]
+end
+parser.parse!
diff --git a/doc/optparse/ruby/matched_values.rb b/doc/optparse/ruby/matched_values.rb
index f184ca8474..a1aba140e6 100644
--- a/doc/optparse/ruby/matched_values.rb
+++ b/doc/optparse/ruby/matched_values.rb
@@ -3,4 +3,10 @@ parser = OptionParser.new
parser.on('--xxx XXX', /foo/i, 'Matched values') do |value|
p ['--xxx', value]
end
+parser.on('--yyy YYY', Integer, 'Check by range', 1..3) do |value|
+ p ['--yyy', value]
+end
+parser.on('--zzz ZZZ', Integer, 'Check by list', [1, 3, 4]) do |value|
+ p ['--zzz', value]
+end
parser.parse!
diff --git a/doc/optparse/ruby/abbreviation.rb b/doc/optparse/ruby/name_abbrev.rb
index b438c1b3dd..b438c1b3dd 100644
--- a/doc/optparse/ruby/abbreviation.rb
+++ b/doc/optparse/ruby/name_abbrev.rb
diff --git a/doc/optparse/ruby/parse.rb b/doc/optparse/ruby/parse.rb
new file mode 100644
index 0000000000..a5d4329484
--- /dev/null
+++ b/doc/optparse/ruby/parse.rb
@@ -0,0 +1,13 @@
+require 'optparse'
+parser = OptionParser.new
+parser.on('--xxx') do |value|
+ p ['--xxx', value]
+end
+parser.on('--yyy YYY') do |value|
+ p ['--yyy', value]
+end
+parser.on('--zzz [ZZZ]') do |value|
+ p ['--zzz', value]
+end
+ret = parser.parse(ARGV)
+puts "Returned: #{ret} (#{ret.class})"
diff --git a/doc/optparse/ruby/parse_bang.rb b/doc/optparse/ruby/parse_bang.rb
new file mode 100644
index 0000000000..567bc733cf
--- /dev/null
+++ b/doc/optparse/ruby/parse_bang.rb
@@ -0,0 +1,13 @@
+require 'optparse'
+parser = OptionParser.new
+parser.on('--xxx') do |value|
+ p ['--xxx', value]
+end
+parser.on('--yyy YYY') do |value|
+ p ['--yyy', value]
+end
+parser.on('--zzz [ZZZ]') do |value|
+ p ['--zzz', value]
+end
+ret = parser.parse!
+puts "Returned: #{ret} (#{ret.class})"