Here is a much better solution for removing Homebrew: https://gist.github.com/SteveBenner/11254428

    #!/usr/bin/env ruby
    #
    # Locates and removes Homebrew installation
    # http://brew.sh/
    #
    # Author: Stephen Benner
    # https://github.com/SteveBenner
    #
    require 'optparse'
    require 'fileutils'
    require 'open3'
    
    $stdout.sync = true
    
    # Default options
    options = {
      :quiet     => false,
      :verbose   => true,
      :dry_run   => false,
      :force     => false,
      :find_path => false
    }
    
    optparser = OptionParser.new do |opts|
      opts.on('-q', '--quiet', 'Quiet mode - suppress output.') do |setting|
        options[:quiet]   = setting
        options[:verbose] = false
      end
      opts.on('-v', '--verbose', 'Verbose mode - print all operations.') { |setting| options[:verbose] = setting }
      opts.on('-d', '--dry', 'Dry run - print results, but perform no actual operations.') do |setting|
        options[:dry_run] = setting
      end
      opts.on('-f', '--force', 'Forces removal of files, bypassing prompt. USE WITH CAUTION.') do |setting|
        options[:force] = setting
      end
      opts.on('-p', '--find-path', 'Output homebrew location if found, then exit.') do |setting|
        options[:find_path] = setting
        options[:quiet]     = true
      end
      opts.on('-h', '--help', '--usage', 'Display usage info and quit.') { puts opts; exit }
    end
    optparser.parse!
    $quiet = options[:quiet] # provides access to option value within methods
    
    # Files installed into the Homebrew repository
    BREW_LOCAL_FILES = %w[
      .git
      Cellar
      Library/brew.rb
      Library/Homebrew
      Library/Aliases
      Library/Formula
      Library/Contributions
      Library/LinkedKegs
    ]
    # Files that Homebrew installs into other system locations
    BREW_SYSTEM_FILES = %W[
      #{ENV['HOME']}/Library/Caches/Homebrew
      #{ENV['HOME']}/Library/Logs/Homebrew
      /Library/Caches/Homebrew
    ]
    $files = []
    
    # This function runs given command in a sub-shell, expecting the output to be the
    # path of a Homebrew installation. If given a block, it passes the shell output to
    # the block for processing, using the return value of the block as the new path.
    # Known Homebrew files are then scanned for and added to the file list. Then the
    # directory is tested for a Homebrew installation, and the git index is added if
    # a valid repo is found. The function won't run once a Homebrew installation is
    # found, but it will accumulate untracked Homebrew files each invocation.
    #
    # @param  [String] cmd       a shell command to run
    # @param  [String] error_msg message to print if command fails
    #
    def locate_brew_path(cmd, error_msg = 'check homebrew installation and PATH.')
      return if $brew_location # stop testing if we find a valid Homebrew installation
      puts "Searching for homewbrew installation using '#{cmd}'..." unless $quiet
    
      # Run given shell command along with any code passed-in via block
      path = `#{cmd}`.chomp
      path = yield(path) if block_given? # pass command output to your own fancy code block
    
      begin
        Dir.chdir(path) do
          # Search for known Homebrew files and folders, regardless of git presence
          $files += BREW_LOCAL_FILES.select { |file| File.exist? file }.map {|file| File.expand_path file }
          $files += Dir.glob('**/{man,bin}/**/brew*')
          # Test for Homebrew git repository (use popen3 so we can suppress git error output)
          repo_name = Open3.popen3('git remote -v') do |stdin, stdout, stderr|
            stderr.close
            stdout.read
          end
          if repo_name =~ /homebrew.git|Homebrew/
            $brew_location = path
          else
            return
          end
        end
      rescue StandardError # on normal errors, continue program
        return
      end
    end
    
    # Attempt to locate homebrew installation using a command and optional code block
    # for processing the command results. Locating a valid path halts searching.
    locate_brew_path 'brew --prefix'
    locate_brew_path('which brew') { |output| File.expand_path('../..', output) }
    locate_brew_path 'brew --prefix' do |output|
      output = output.split($/).first
      File.expand_path('../..', output)
    end
    
    # Found Homebrew installation
    if $brew_location
      puts "Homebrew found at: #{$brew_location}" unless options[:quiet]
      if options[:find_path]
        puts $brew_location
        exit
      end
      # Collect files indexed by git
      begin
        Dir.chdir($brew_location) do
          # Update file list (use popen3 so we can suppress git error output)
          Open3.popen3('git checkout master') { |stdin, stdout, stderr| stderr.close }
          $files += `git ls-files`.split.map {|file| File.expand_path file }
        end
      rescue StandardError => e
        puts e # Report any errors, but continue the script and collect any last files
      end
    end
    
    # Collect any files Homebrew may have installed throughout our system
    $files += BREW_SYSTEM_FILES.select { |file| File.exist? file }
    
    abort 'Failed to locate any homebrew files!' if $files.empty?
    
    # DESTROY! DESTROY! DESTROY!
    unless options[:force]
      print "Delete #{$files.count} files? "
      abort unless gets.rstrip =~ /y|yes/i
    end
    
    rm =
      if options[:dry_run]
        lambda { |entry| puts "deleting #{entry}" unless options[:quiet] }
      else
        lambda { |entry| FileUtils.rm_rf(entry, :verbose => options[:verbose]) }
      end
    
    puts 'Deleting files...' unless options[:quiet]
    $files.each(&rm)