refeとかriをanythingで

(defvar ri-program "fri")
;;friを使わないなら
;;(setq ri-program "ri")
(defvar refe-program "~/bin/refe.sh")

(defvar ruby-all-methods nil)
(defvar my-ruby-reference-last-word "")

(defun read-ruby-document (document com)
  "Open each ruby's ruby-document on other window"
  (let ((buf "*ruby document*"))
    (if (equal com "")
	(shell-command (concat document " -l") buf)
      (shell-command (concat document " " com) buf))
    (save-excursion
      (set-buffer buf)
      (ansi-color-apply-on-region (point-min) (point-max)))))

(defun get-ruby-method-reference ()
  (let ((buf "*ruby document*"))
    (progn (read-ruby-document ri-program "")
	   (setq ruby-all-methods
		 (buffer->alist buf '( "(\"" "\" \"" "\")")))
	     (kill-buffer buf)))
  ruby-all-methods)

(defun buffer->alist (src-buffer &optional padding)
  ;;"a\nb\nc" => (a b c)
  (let* ((padding (if padding padding '( "(" " " ")")))
	 (beg-paren (car padding))
	 (joiner (cadr padding))
	 (end-paren (caddr padding)))
    (save-excursion
      (set-buffer src-buffer)
      (goto-char (point-min))
      (insert beg-paren)
      (while (search-forward "\n" nil t)
      (replace-match joiner nil t))
    (goto-char (point-max))
    (insert end-paren)
    (goto-char (point-min))
    (read (current-buffer)))))

(defun my-ruby-reference (method &optional prog chr)
  (let  ((chr (if chr chr "."))
	 (prog (if prog prog ri-program)))
    (let ((method (replace-regexp-in-string "#" chr method)))
      (setq my-ruby-reference-last-word method)
      (read-ruby-document prog method))))
  
(setq anything-c-source-ruby-method-reference
      '((name . "Ruby Mehtod")
	(candidates . ruby-all-methods)
	(action . (("RI" . (lambda (c) (my-ruby-reference c)))
		   ("Refe". (lambda (c) (my-ruby-reference c refe-program " ")))))
	))

(defun anything-ruby-method-reference () (interactive)
  (unless ruby-all-methods (get-ruby-method-reference))
  (let ((anything-sources (list anything-c-source-ruby-method-reference))
	(anything-initial-input my-ruby-reference-last-word))
    (anything)))

M-x anything-ruby-method-referenceでanything候補を選択しながらriとかが使える。
でも、rcodetoolsをインストールした方が便利だと思います><*1

*1:今回作ったようなリファレンス用の機能も入っているし、テストの補助とか補完とか他にも色々便利な機能がはいってます>rocdetools