process (RubyParserGauntlet)

    # File lib/gauntlet_rubyparser.rb, line 58
      def process path, name
        begin
          $stderr.print "  #{path}: "
          rp = RubyParser.new
          r2r = Ruby2Ruby.new

          old_ruby = File.read(path)

          begin
            old_sexp = rp.process old_ruby
          rescue Racc::ParseError => e
            self.data[name][path] = :unparsable
            self.dirty = true
            return
          end

          new_ruby = r2r.process old_sexp.deep_clone

          begin
            new_sexp = rp.process new_ruby
          rescue Racc::ParseError => e
            broke name, path, "couldn't parse new_ruby: #{e.message.strip}"
            return
          end

          if old_sexp != new_sexp then
            broke name, path, diff_pp(old_sexp, new_sexp)
            return
          end

          self.data[name][path] = true
          self.dirty = true

          warn "good"
        rescue Interrupt
          puts "User cancelled"
          exit 1
        rescue Exception => e
          broke name, path, "    UNKNOWN ERROR: #{e}: #{e.message.strip}"
        end
      end