class OptConfig::Option
オプション定義¶ ↑
Attributes
argument[R]
completion[R]
default[R]
description[R]
format[R]
in_config[R]
multiple[R]
name[R]
ovalue[RW]
pre_proc[R]
proc[R]
underscore_is_hyphen[R]
usage_name[R]
value[RW]
Public Class Methods
new(*args)
click to toggle source
初期化¶ ↑
- args
-
オプション名(String) のリスト、オプションの属性(Hash)
# File lib/optconfig.rb, line 482 def initialize(*args) name = args.dup if name.last.is_a? Hash attr = name.pop else attr = {} end raise "no option name: #{args.inspect}" if name.empty? argument = nil @usage_name = name @name = name.to_a.map do |n| unless n =~ /\A([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9_-]+)(\[?=.*)?\z/ raise "invalid option name: #{n.inspect}" end n = $1 argument = $2.nil? ? nil : $2 =~ /\A\[/ ? :optional : true n end @argument = attr.key?(:argument) ? attr[:argument] : argument @format = attr.key?(:format) ? attr[:format] : @argument ? true : nil @default = attr[:default] @description = attr[:description] @multiple = attr.key?(:multiple) ? attr[:multiple] : :last @completion = attr.key?(:completion) ? attr[:completion] : true @underscore_is_hyphen = attr[:underscore_is_hyphen] @in_config = attr.key?(:in_config) ? attr[:in_config] : true @proc = attr[:proc] @pre_proc = attr[:pre_proc] @value = @default @ovalue = @default end
Public Instance Methods
may_not_take_argument?()
click to toggle source
# File lib/optconfig.rb, line 518 def may_not_take_argument? argument == false or argument == :optional or (argument.nil? and !format) end