class Pry::Command::Cd

Public Instance Methods

process() click to toggle source
# File lib/pry/commands/cd.rb, line 25
def process
  state.old_stack ||= []

  if arg_string.strip == "-"
    unless state.old_stack.empty?
      pry_instance.binding_stack, state.old_stack =
        state.old_stack, pry_instance.binding_stack
    end
  else
    stack = ObjectPath.new(arg_string, pry_instance.binding_stack).resolve

    if stack && stack != pry_instance.binding_stack
      state.old_stack = pry_instance.binding_stack
      pry_instance.binding_stack = stack
    end
  end
end