aboutsummaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
authornobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2016-04-28 07:33:43 +0000
committernobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2016-04-28 07:33:43 +0000
commit38b756501f4d1ec7a145787bc01f1e6ab05ee862 (patch)
tree730519e7275fe06b2628180d1baea497bcd953f7 /lib
parent9ef7c87d677ba3d7ddd72a1c37d9c7d0766ade8f (diff)
downloadruby-38b756501f4d1ec7a145787bc01f1e6ab05ee862.tar.gz
optparse.rb: [DOC] fix example code [ci skip]
* lib/optparse.rb: [DOC] fix example code. base on the code by Semyon Gaivoronskiy in [ruby-core:75224]. [Bug #12323] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54808 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'lib')
-rw-r--r--lib/optparse.rb157
1 files changed, 79 insertions, 78 deletions
diff --git a/lib/optparse.rb b/lib/optparse.rb
index cc0de23406..5a3ea4e2dd 100644
--- a/lib/optparse.rb
+++ b/lib/optparse.rb
@@ -251,7 +251,9 @@
#
# class ScriptOptions
# attr_accessor :library, :inplace, :encoding, :transfer_type,
-# :verbose
+# :verbose, :extension, :delay, :time, :record_separator,
+# :list
+#
# def initialize
# self.library = []
# self.inplace = false
@@ -259,37 +261,21 @@
# self.transfer_type = :auto
# self.verbose = false
# end
-# end
-#
-# #
-# # Return a structure describing the options.
-# #
-# def self.parse(args)
-# # The options specified on the command line will be collected in
-# # *options*.
-#
-# @options = ScriptOptions.new
-# option_parser.parse!(args)
-# @options
-# end
#
-# attr_reader :parser, :options
-#
-# def option_parser
-# @parser ||= OptionParser.new do |parser|
+# def define_options(parser)
# parser.banner = "Usage: example.rb [options]"
# parser.separator ""
# parser.separator "Specific options:"
#
# # add additional options
-# perform_inplace_option
-# delay_execution_option
-# execute_at_time_option
-# specify_record_separator_option
-# list_example_option
-# specify_encoding_option
-# optional_option_argument_with_keyword_completion_option
-# boolean_verbose_option
+# perform_inplace_option(parser)
+# delay_execution_option(parser)
+# execute_at_time_option(parser)
+# specify_record_separator_option(parser)
+# list_example_option(parser)
+# specify_encoding_option(parser)
+# optional_option_argument_with_keyword_completion_option(parser)
+# boolean_verbose_option(parser)
#
# parser.separator ""
# parser.separator "Common options:"
@@ -305,80 +291,95 @@
# exit
# end
# end
-# end
#
-# def perform_inplace_option
-# # Specifies an optional option argument
-# parser.on("-i", "--inplace [EXTENSION]",
-# "Edit ARGV files in place",
-# " (make backup if EXTENSION supplied)") do |ext|
-# options.inplace = true
-# options.extension = ext || ''
-# options.extension.sub!(/\A\.?(?=.)/, ".") # Ensure extension begins with dot.
+# def perform_inplace_option(parser)
+# # Specifies an optional option argument
+# parser.on("-i", "--inplace [EXTENSION]",
+# "Edit ARGV files in place",
+# "(make backup if EXTENSION supplied)") do |ext|
+# self.inplace = true
+# self.extension = ext || ''
+# self.extension.sub!(/\A\.?(?=.)/, ".") # Ensure extension begins with dot.
+# end
# end
-# end
#
-# def delay_execution_option
-# # Cast 'delay' argument to a Float.
-# parser.on("--delay N", Float, "Delay N seconds before executing") do |n|
-# options.delay = n
+# def delay_execution_option(parser)
+# # Cast 'delay' argument to a Float.
+# parser.on("--delay N", Float, "Delay N seconds before executing") do |n|
+# self.delay = n
+# end
# end
-# end
#
-# def execute_at_time_option
-# # Cast 'time' argument to a Time object.
-# parser.on("-t", "--time [TIME]", Time, "Begin execution at given time") do |time|
-# options.time = time
+# def execute_at_time_option(parser)
+# # Cast 'time' argument to a Time object.
+# parser.on("-t", "--time [TIME]", Time, "Begin execution at given time") do |time|
+# self.time = time
+# end
# end
-# end
-#
#
-# def specify_record_separator_option
-# # Cast to octal integer.
-# parser.on("-F", "--irs [OCTAL]", OptionParser::OctalInteger,
-# "Specify record separator (default \\0)") do |rs|
-# options.record_separator = rs
+# def specify_record_separator_option(parser)
+# # Cast to octal integer.
+# parser.on("-F", "--irs [OCTAL]", OptionParser::OctalInteger,
+# "Specify record separator (default \\0)") do |rs|
+# self.record_separator = rs
+# end
# end
-# end
#
-# def list_example_option
-# # List of arguments.
-# parser.on("--list x,y,z", Array, "Example 'list' of arguments") do |list|
-# options.list = list
+# def list_example_option(parser)
+# # List of arguments.
+# parser.on("--list x,y,z", Array, "Example 'list' of arguments") do |list|
+# self.list = list
+# end
# end
-# end
#
-# def specify_encoding_option
-# # Keyword completion. We are specifying a specific set of arguments (CODES
-# # and CODE_ALIASES - notice the latter is a Hash), and the user may provide
-# # the shortest unambiguous text.
-# code_list = (CODE_ALIASES.keys + CODES).join(',')
-# parser.on("--code CODE", CODES, CODE_ALIASES, "Select encoding",
-# " (#{code_list})") do |encoding|
-# options.encoding = encoding
+# def specify_encoding_option(parser)
+# # Keyword completion. We are specifying a specific set of arguments (CODES
+# # and CODE_ALIASES - notice the latter is a Hash), and the user may provide
+# # the shortest unambiguous text.
+# code_list = (CODE_ALIASES.keys + CODES).join(', ')
+# parser.on("--code CODE", CODES, CODE_ALIASES, "Select encoding",
+# "(#{code_list})") do |encoding|
+# self.encoding = encoding
+# end
# end
-# end
#
+# def optional_option_argument_with_keyword_completion_option(parser)
+# # Optional '--type' option argument with keyword completion.
+# parser.on("--type [TYPE]", [:text, :binary, :auto],
+# "Select transfer type (text, binary, auto)") do |t|
+# self.transfer_type = t
+# end
+# end
#
-# def optional_option_argument_with_keyword_completion_option
-# # Optional '--type' option argument with keyword completion.
-# parser.on("--type [TYPE]", [:text, :binary, :auto],
-# "Select transfer type (text, binary, auto)") do |t|
-# options.transfer_type = t
+# def boolean_verbose_option(parser)
+# # Boolean switch.
+# parser.on("-v", "--[no-]verbose", "Run verbosely") do |v|
+# self.verbose = v
+# end
# end
# end
#
+# #
+# # Return a structure describing the options.
+# #
+# def parse(args)
+# # The options specified on the command line will be collected in
+# # *options*.
#
-# def boolean_verbose_option
-# # Boolean switch.
-# parser.on("-v", "--[no-]verbose", "Run verbosely") do |v|
-# options.verbose = v
+# @options = ScriptOptions.new
+# @args = OptionParser.new do |parser|
+# @options.define_options(parser)
+# parser.parse!(args)
# end
+# @options
# end
#
+# attr_reader :parser, :options
# end # class OptparseExample
-# options = OptparseExample.parse(ARGV)
-# pp options
+#
+# example = OptparseExample.new
+# options = example.parse(ARGV)
+# pp options # example.options
# pp ARGV
#
# === Shell Completion