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, MissingArgument, MissingRequiredOption, NotImplementedError, NullOption, Option, Options, Parser, RegexpOption, Result, StringOption, UnknownOption
Constant Summary collapse
- VERSION =
'4.7.0'- 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
Example:
Slop.option_defined?(:string) #=> true
Slop.option_defined?(:omg) #=> false
Returns true if an option is defined.
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
Example:
Slop.string_to_option("string") #=> "StringOption"
Slop.string_to_option("some_thing") #=> "SomeThingOption"
Returns a camel-cased class looking string with Option suffix.
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
Example:
Slop.string_to_option_class("string") #=> Slop::StringOption
Slop.string_to_option_class("foo") #=> uninitialized constant FooOption
Returns the full qualified option class. Uses ‘#string_to_option`.
56 57 58 |
# File 'lib/slop.rb', line 56 def self.string_to_option_class(s) const_get(string_to_option(s)) end |