Mi sono ricordato dell'esistenza di CTags guardando uno screencast di @tenderlove e ho felicemente riscoperto uno strumento antico quanto efficace per navigare nel codice, in particolare tra le gemme Ruby (e nel codice in generale).

CTags crea infatti un indice dei files sorgenti che permette di ricercare istantaneamente metodi e classi.

La procedura di setup che segue è molto semplice e può essere facilmente adattata a configurazioni differenti. Il mio setup comunque è OSX, RVM, GIT, Sublime Text 2, Homebrew e dovrebbe essere simile a quello di molti sviluppatori Rails.

Installiamo ctags:

brew install ctags

Ora dobbiamo generare automaticamente i tags del progetto Ruby corrente e delle sue gemme. Io uso un hook di RVM (vedi link a fondo pagina per metodi diversi).

Creiamo quindi il file ~/.rvm/hooks/after_cd_ctags con questo codice e rendiamolo eseguibile:

chmod +x ~/.rvm/hooks/after_cd_ctags

Passo successivo, integrare CTags con il nostro editor di fiducia. Con Sublime Text 2 è sufficiente installare questo package.

Come ultima cosa è bene fare ignorare i files di CTags a git. Aggiungiamo quindi all'ignore globale (vedi ignoring files su github):

# ctags
.tags
.tags_sorted_by_file
.gemtags

Vi lascio produttivi come non mai (?) con qualche link utile per approfondire la questione:

Vim + Rails + Ctags = Power Navigation (Screencast)

guard-ctags-bundler

Effortless Ctags with Git