class Pry::Command::ShellCommand

Public Instance Methods

process(cmd) click to toggle source
# File lib/pry/commands/shell_command.rb, line 18
def process(cmd)
  if cmd =~ /^cd\s*(.*)/i
    process_cd parse_destination($1)
  else
    pass_block(cmd)
    if command_block
      command_block.call %x#{cmd}`
    else
      _pry_.config.system.call(output, cmd, _pry_)
    end
  end
end

Private Instance Methods

parse_destination(dest) click to toggle source
# File lib/pry/commands/shell_command.rb, line 33
def parse_destination(dest)
  return "~" if dest.empty?
  return dest unless dest == "-"
  state.old_pwd || raise(CommandError, "No prior directory available")
end
process_cd(dest) click to toggle source
# File lib/pry/commands/shell_command.rb, line 39
def process_cd(dest)
  state.old_pwd = Dir.pwd
  Dir.chdir File.expand_path(dest)
rescue Errno::ENOENT
  raise CommandError, "No such directory: #{dest}"
end