module Slop

Constants

BooleanOption

Cast the option argument to true or false. Override default_value to default to false instead of nil. This option type does not expect an argument. However, the API supports value being passed. This is to ensure it can capture an explicit false value

IntOption

Cast the option argument to an Integer.

VERSION

Public Class Methods

option_defined?(name) click to toggle source

Example:

Slop.option_defined?(:string) #=> true
Slop.option_defined?(:omg)    #=> false

Returns true if an option is defined.

# File lib/slop.rb, line 32
def self.option_defined?(name)
  const_defined?(string_to_option(name.to_s))
end
parse(items = ARGV, **config, &block) click to toggle source

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.

# File lib/slop.rb, line 22
def self.parse(items = ARGV, **config, &block)
  Options.new(config, &block).parse(items)
end
string_to_option(s) click to toggle source

Example:

Slop.string_to_option("string")     #=> "StringOption"
Slop.string_to_option("some_thing") #=> "SomeThingOption"

Returns a camel-cased class looking string with Option suffix.

# File lib/slop.rb, line 42
def self.string_to_option(s)
  s.gsub(/(?:^|_)([a-z])/) { $1.capitalize } + "Option"
end
string_to_option_class(s) click to toggle source

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`.

# File lib/slop.rb, line 52
def self.string_to_option_class(s)
  const_get(string_to_option(s))
end