Module: Slop
- Defined in:
- lib/slop.rb,
lib/slop/error.rb,
lib/slop/types.rb,
lib/slop/option.rb,
lib/slop/parser.rb,
lib/slop/result.rb,
lib/slop/options.rb
Defined Under Namespace
Classes: ArrayOption, BoolOption, Error, FloatOption, IntegerOption, InvalidOptionValue, MissingArgument, MissingRequiredOption, NotImplementedError, NullOption, Option, Options, Parser, RegexpOption, Result, StringOption, SymbolOption, UnknownOption
Constant Summary collapse
- VERSION =
'4.10.1'
- BooleanOption =
BoolOption
- IntOption =
IntegerOption
Class Method Summary collapse
-
.option_defined?(name) ⇒ Boolean
Example:.
-
.parse(items = ARGV, **config, &block) ⇒ Object
Parse an array of options (defaults to ARGV).
-
.string_to_option(s) ⇒ Object
Example:.
-
.string_to_option_class(s) ⇒ Object
Example:.
Class Method Details
.option_defined?(name) ⇒ Boolean
32 33 34 35 36 37 38 |
# File 'lib/slop.rb', line 32 def self.option_defined?(name) const_defined?(string_to_option(name.to_s)) rescue NameError # If a NameError is raised, it wasn't a valid constant name, # and thus couldn't have been defined. false end |
.parse(items = ARGV, **config, &block) ⇒ Object
Parse an array of options (defaults to ARGV). Accepts an optional hash of configuration options and block.
Example:
opts = Slop.parse(["-host", "localhost"]) do |o|
o.string '-host', 'a hostname', default: '0.0.0.0'
end
opts.to_hash #=> { host: 'localhost' }
Returns a Slop::Result.
22 23 24 |
# File 'lib/slop.rb', line 22 def self.parse(items = ARGV, **config, &block) Options.new(**config, &block).parse(items) end |
.string_to_option(s) ⇒ Object
46 47 48 |
# File 'lib/slop.rb', line 46 def self.string_to_option(s) s.gsub(/(?:^|_)([a-z])/) { $1.capitalize } + "Option" end |
.string_to_option_class(s) ⇒ Object
56 57 58 |
# File 'lib/slop.rb', line 56 def self.string_to_option_class(s) const_get(string_to_option(s)) end |