Bug 517692 - RI can't find Array#new docs

Adjust to new rdoc api.

Change-Id: I62eac3ca03518b63b1d640e9a28c5c3a3c86b676
Signed-off-by: Alexander Kurtakov <akurtako@redhat.com>
diff --git a/plugins/org.eclipse.dltk.ruby.ui/support/dltkri.rb b/plugins/org.eclipse.dltk.ruby.ui/support/dltkri.rb
index 340568f..f492d5c 100644
--- a/plugins/org.eclipse.dltk.ruby.ui/support/dltkri.rb
+++ b/plugins/org.eclipse.dltk.ruby.ui/support/dltkri.rb
@@ -1,9 +1,18 @@
-require 'rdoc/ri/ri_driver'
+require 'rdoc'
 
-ENV["RI"] = "-f html -T"
+class DLTKRi < RDoc::RI::Driver
+  def display_name name
+    out = RDoc::Markup::Document.new
+    
+    add_method out, name
+    
+    puts (out.accept formatter(RDoc::Markup::ToAnsi.new))
+  end
+end
 
 endMarker = "DLTKDOCEND"
-ri = RiDriver.new
+ri = DLTKRi.new(RDoc::RI::Driver.process_args(%w[-T --format=ansi --doc-dir=/usr/share/ri/system/]))
+ri.use_stdout = true
 
 while true do
 	s = STDIN.gets
@@ -12,10 +21,10 @@
 	end
 	s = s.chop!
 	begin
-		ri.get_info_for(s)
+		ri.display_name(s)
 		STDOUT.puts "\n" + endMarker
 		STDOUT.flush
-	rescue RiError => e
+	rescue RDoc::RI::Driver::Error => e
 		STDOUT.puts "#{e}"
 		STDOUT.puts "\n" + endMarker
 		STDOUT.flush