Module: OptionParser::Arguable
- Defined in:
- opal/stdlib/optparse.rb
Overview
Extends command line arguments array (ARGV) to parse itself.
Class Method Summary collapse
-
.extend_object(obj) ⇒ Object
Initializes instance variable.
Instance Method Summary collapse
-
#getopts(*args) ⇒ Object
Substitution of getopts is possible as follows.
- #initialize(*args) ⇒ Object
-
#options ⇒ Object
Actual OptionParser object, automatically created if nonexistent.
-
#options=(opt) ⇒ Object
Sets OptionParser object, when +opt+ is +false+ or +nil+, methods OptionParser::Arguable#options and OptionParser::Arguable#options= are undefined.
-
#order!(&blk) ⇒ Object
Parses +self+ destructively in order and returns +self+ containing the rest arguments left unparsed.
-
#parse! ⇒ Object
Parses +self+ destructively and returns +self+ containing the rest arguments left unparsed.
-
#permute! ⇒ Object
Parses +self+ destructively in permutation mode and returns +self+ containing the rest arguments left unparsed.
Class Method Details
.extend_object(obj) ⇒ Object
Initializes instance variable.
2253 2254 2255 2256 |
# File 'opal/stdlib/optparse.rb', line 2253 def self.extend_object(obj) super obj.instance_eval { @optparse = nil } end |
Instance Method Details
#getopts(*args) ⇒ Object
Substitution of getopts is possible as follows. Also see OptionParser#getopts.
def getopts(*args) ($OPT = ARGV.getopts(*args)).each do |opt, val| eval "$OPT_#'_') = val" end rescue OptionParser::ParseError end
2246 2247 2248 |
# File 'opal/stdlib/optparse.rb', line 2246 def getopts(*args) .getopts(self, *args) end |
#initialize(*args) ⇒ Object
2258 2259 2260 2261 |
# File 'opal/stdlib/optparse.rb', line 2258 def initialize(*args) super @optparse = nil end |
#options ⇒ Object
Actual OptionParser object, automatically created if nonexistent.
If called with a block, yields the OptionParser object and returns the result of the block. If an OptionParser::ParseError exception occurs in the block, it is rescued, a error message printed to STDERR and +nil+ returned.
2199 2200 2201 2202 2203 2204 2205 2206 2207 2208 2209 |
# File 'opal/stdlib/optparse.rb', line 2199 def @optparse ||= OptionParser.new @optparse.default_argv = self block_given? || (return @optparse) begin yield @optparse rescue ParseError @optparse.warn $! nil end end |
#options=(opt) ⇒ Object
Sets OptionParser object, when +opt+ is +false+ or +nil+, methods OptionParser::Arguable#options and OptionParser::Arguable#options= are undefined. Thus, there is no ways to access the OptionParser object via the receiver object.
2182 2183 2184 2185 2186 2187 2188 2189 |
# File 'opal/stdlib/optparse.rb', line 2182 def (opt) unless @optparse = opt class << self undef_method(:options) undef_method(:options=) end end end |
#order!(&blk) ⇒ Object
Parses +self+ destructively in order and returns +self+ containing the rest arguments left unparsed.
2215 2216 2217 |
# File 'opal/stdlib/optparse.rb', line 2215 def order!(&blk) .order!(self, &blk) end |
#parse! ⇒ Object
Parses +self+ destructively and returns +self+ containing the rest arguments left unparsed.
2231 2232 2233 |
# File 'opal/stdlib/optparse.rb', line 2231 def parse! .parse!(self) end |
#permute! ⇒ Object
Parses +self+ destructively in permutation mode and returns +self+ containing the rest arguments left unparsed.
2223 2224 2225 |
# File 'opal/stdlib/optparse.rb', line 2223 def permute! .permute!(self) end |