In Files

Parent

Pry::CLI

Manage the processing of command line options

Constants

NoOptionsError

Attributes

option_processors[RW]

@return [Array] The Procs that process the parsed options.

options[RW]

@return [Proc] The Proc defining the valid command line options.

Public Class Methods

add_options(&block) click to toggle source

Add another set of CLI options (a Slop block)

# File lib/pry/cli.rb, line 18
def add_options(&block)
  if options
    old_options = options
    self.options = proc do
      instance_exec(&old_options)
      instance_exec(&block)
    end
  else
    self.options = block
  end

  self
end
add_plugin_options() click to toggle source

Bring in options defined in plugins

# File lib/pry/cli.rb, line 33
def add_plugin_options
  Pry.plugins.values.each do |plugin|
    plugin.load_cli_options
  end

  self
end
parse_options(args=ARGV.dup) click to toggle source
# File lib/pry/cli.rb, line 55
def parse_options(args=ARGV.dup)
  raise NoOptionsError, "No command line options defined! Use Pry::CLI.add_options to add command line options." if !options

  opts = Slop.parse(args, :help => true, :multiple_switches => false, &options)
  option_processors.each { |processor| processor.call(opts) } if option_processors # option processors are optional

  self
end
process_options(&block) click to toggle source

Add a block responsible for processing parsed options.

# File lib/pry/cli.rb, line 42
def process_options(&block)
  self.option_processors ||= []
  option_processors << block

  self
end
reset() click to toggle source

Clear `options` and `option_processors`

# File lib/pry/cli.rb, line 50
def reset
  self.options           = nil
  self.option_processors = nil
end

[Validate]

Generated with the Darkfish Rdoc Generator 2.