class Gem::Commands::WhichCommand

def execute

def execute
  found = true
  options[:args].each do |arg|
    arg = arg.sub(/#{Regexp.union(*Gem.suffixes)}$/, '')
    dirs = $LOAD_PATH
    spec = Gem::Specification.find_by_path arg
    if spec then
      if options[:search_gems_first] then
        dirs = spec.full_require_paths + $LOAD_PATH
      else
        dirs = $LOAD_PATH + spec.full_require_paths
      end
    end
    # TODO: this is totally redundant and stupid
    paths = find_paths arg, dirs
    if paths.empty? then
      alert_error "Can't find ruby library file or shared library #{arg}"
      found &&= false
    else
      say paths
    end
  end
  terminate_interaction 1 unless found
end