Publicidad:
La Coctelera

Sugerencia de presentación

He nacido para vago

11 Julio 2008

Rápido acceso a la documentación de las gemas instaladas

Seguimos con truquitos de shell para desarrolladores, en este caso de Ruby. Os estoy enseñando mi ~/.bash_profile por fascículos

En este caso se trata de estar en concidiones de acudir al viejo aforismo "si todo lo demás falla, consulta el manual", en nuestro caso con las gemas de ruby que tengamos instaladas y que, mejor o peor, suelen venir documentadas.

No sé si conocéis el comando gem server (deberíais). Levanta un servidor web (creo que es un Webrick) en el puerto 8808 de nuestra máquina, apuntando directamente a la documentación de las gemas. Nos bastará apuntar nuestro navegador favorito a http://localhost:8808/, buscar la gema en cuestión, y ponernos a leer.

Pero se puede hacer más cómodo aún, metiendo esto en nuestro ~/.bash_profile:

 export GEMDIR=`gem env gemdir`
 gemdoc() {
   open $GEMDIR/doc/`$(which ls) $GEMDIR/doc | grep $1 | sort | tail -1`/rdoc/index.html
 }
 _gemdocomplete() {
   COMPREPLY=($(compgen -W '$(`which ls` $GEMDIR/doc)' -- ${COMP_WORDS[COMP_CWORD]}))
   return 0
 }
 complete -o default -o nospace -F _gemdocomplete gemdoc
 

La segunda función y la última línea son para dar autocompletado al comando, lo cual lo hace aún más atractivo para vagos. Por cierto, yo nunca le había metido mano al autocompletado en bash y tiene pinta de ser bastante simple la cosa, si investigo algo más ya os contaré.

El caso es que con la función gemdoc tendremos acceso directamente a la documentación de una gema concreta (en vez de al índice), sin necesidad de levantar el servidor (accede directamente al sistema de archivos), y además con autocompletado:

(Sacado de aquí).

Nota: según el sistema operativo, quizás necesites cambiar alguna cosa del script (en particular, puede que tengas que cambiar la llamada a open por una llamada a tu navegador favorito). Esto funciona tal cual en MacOSX.

servido por porras 4 comentarios compártelo

4 comentarios · Escribe aquí tu comentario

blat

blat dijo

Yo tengo este alias:

alias gems='cd /opt/local/lib/ruby/gems/1.8/gems/'

Y desde ahí ya abro los fuentes de la gema, más que nada porque las instalo sin documentación.

11 Julio 2008 | 12:16 PM

voiser

voiser dijo

"open" es de lo mejor de macos :)

no conocía lo de gem server, la verdad es que está chulo. Gracias :)

¿!usas safari!?!? ¡hereje! :P

11 Julio 2008 | 12:25 PM

porras

porras dijo

@blat

Mola, pues mezclando eso, parte de lo que he posteado, y textmate, te sale un "opengem" muy chulo. Y oye, ¿por qué instalas las gemas sin documentación? ¡Qué machote! :D

@voiser

Creo que GNOME también lo tiene pero se llama gnome-open. Y sólo creo.

Lo de Safari y Firefox me va por épocas, pero el patrón básico es: Safari para navegar y leer (tengo la sensación de que es más rápido que Firefox, no sé si haciendo trampas al estilo IE), Firefox para currar (por Firebug y porque es más importante que las cosas funcionen bien en Firefox que en Safari). Así que obviamente el predeterminado es el Safari =:-P

11 Julio 2008 | 01:03 PM

Fran

Fran dijo

y si en el sitio de bash utilizais la potente ZSH solo teneis que meter en ~/.zshrc lo sigiuente:

export GEMDIR=`gem env gemdir`
gemdoc() {
open $GEMDIR/doc/`ls -FG $GEMDIR/doc | grep $1 | sort | tail -1`/rdoc/index.html
}
_gemdocomplete() {
compctl -/ -W $GEMDIR/doc gemdoc
return 0
}
_gemdocomplete

Espero os guste

7 Agosto 2008 | 12:15 AM

Escribe tu comentario


Sobre mí

Avatar de porras

Sugerencia de presentación

ver perfil »
contacto »

Me llamo Sergio Gil Pérez de la Manga, y mi madre se cabrea si escribo mi nombre con un sólo apellido. Vivo, trabajo y hago casi todo lo demás en Madrid.

Trabajo como programador porque es lo más parecido que he encontrado a no trabajar. Sobre todo si lo haces bien. Y en eso estoy, en hacerlo cada vez mejor para trabajar cada vez menos. Alguno lo llamaría vagancia, y yo ahí no me meto.

Algunas de las herramientas que en este momento me llevan al Nirvana de no dar un palo al agua son Ruby, Ruby on Rails, Textmate, cualquier sabor de Unix (en este momento principalmente MacOSX pero también Ubuntu Linux) y sus herramientas, o Rake. En ocasiones hablo de ellas aquí, pienso que a alguien le pueden servir y que no puedo ser el único al que no le gusta trabajar.

Y como no sólo de tecnología vive el hombre (bueno, el hombre no sé, pero desde luego yo no), por aquí aparece de vez en cuando la punta del iceberg de mis pequeños pensamientos; al menos la parte de ellos que no cabe en Twitter.

Bienvenidos todos.

Y ahora: ¿Y tú?

Fotos

porras todavía no ha subido ninguna foto.

¡Anímale a hacerlo!

Buscar

suscríbete

Selecciona el agregador que utilices para suscribirte a este blog (también puedes obtener la URL de los feeds):

¿Qué es esto?

Crea tu blog gratis en La Coctelera