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