The Rails Way Book en mis manos
Acaba de llegarme el libro The Rails Way escrito por Obie Fernandez y publicado por Addison Wesley. No voy a resumir todo lo que trata el libro ya se ha hablado mucho del mismo solo dejo este link:
http://www.rubyinside.com/the-rails-way-by-obie-fernandez-679.html
Donde están algunas impresiones.
Y nada… decir que este libro no es para principiantes en Ruby on Rails mas bien es una guiá para hacer aplicaciones profesionales, ha tambien incluye la versión de 2.0 de Rails y trata temas como RSpec, REST, XML Active Resource y Deployment.
Claro que un libro no lo es todo, siempre toca recurrir a Google por alguna cosa :-)
Gedit como Textmate mejorado para Rails en GNU/Linux 17
En mi lucha por transformar Gedit en un aproximado de Textmate hace algunos días les comente que había migrado los archivos de la vieja versión Gtksourceview 1.0 a la nueva versión 2.0. Tambien comentaba un poco mi frustración acerca de no poder resaltar la sintaxis de ruby en archivos rhtml o html.erb, ya saben el código entre:
<% ...... %>
pues bien al fin lo logré, reescribi todo la extension .lang para los archivos rhtml, he aquí el resultado

y los archivo yaml

También escribí un nuevo tema para Gedit, lo que tienen que hacer es prácticamente lo mismo que mi post anterior, es decir lo siguiente:
1) Bajar todo de Aquí
2) Agregar las extensiones rhtml, html.erb, yml y rjs al final del archivo /etc/mime.types
text/x-ruby-source rhtml html.erb
text/x-eruby rjs
text/x-yaml yml
3) Actualizar las nuevas extensiones mime types
sudo update-mime-database /usr/share/mime
4) Copiar el archivo x-rhtml.xml al directorio /usr/share/mime/packages
sudo cp gmate2/mime/x-rhtml.xml /usr/share/mime/packages
5) Copiar las extensiones ruby.lang, rhtml.lang y rjs.lang al directorio /usr/share/gtksourceview-2.0/language-specs
sudo cp gmate2/langs/*.lang /usr/share/gtksourceview-2.0/language-specs
6) Actualizar los plugins
cp -R gmate2/plugins/* ~/.gnome2/gedit/plugins/
Si la carpeta ~/.gnome2/gedit/plugins no existe hay que crearla
7) Copiar los snippets (recortes)
cp -R gmate2/snippets/* ~/.gnome2/gedit/snippets/
Si la carpeta ~/.gnome2/gedit/snippets no existe hay que crearla
8) Copiar el tema de colores
cp gmate2/styles/Rubycius.xml ~/.gnome2/gedit/styles/
Si la carpeta ~/.gnome2/gedit/styles no existe hay que crearla
9) Borra el directorio de tu sesión temporal de gnome
rm -Rf /tmp/gconfd-joselo
Donde “joselo” es tu nombre de usuario del sistema
10) Abre el Gedit y en el menú: Editar > Preferencias, tab “Complementos” realiza lo siguiente
Activar los plugins:
- Gemini (Que auto completa paréntesis, comillas, corchetes, etc)
- Panel del examinador de archivos (Menú: Ver > Panel Lateral)
- Recortes (Snippets)
- Snap Open (Con la combinación de las teclas CTRL+ALT+O se abre un dialogo donde puedes buscar los archivos que quieras)
Hay que desactiva el plugin de “completar paréntesis” que ya viene en Gedit, ya que puede dar conflictos con otro plugin (Gemini)
Obviamente puedes activar los plugins que desees pero esos son los básicos y mas funcionales a mi criterio
11) Seleccionar el tema “Rubycius” en el menu: Editar > Preferencias, tab “Tipografias y Colores”
12) Por ultimo, si lo deseas en el menu: Editar > Preferencias, tab “Ver” puedes: Mostrar números de línea, Highlight current line y Mostrar margen derecho.
La fuente de letra que yo usos es Monaco de 10
También si por alguna razón al abrir archivos con extensión .rhtml, .html.erb, .yml o .rjs la sintaxis no resalta es necesario correr el comando:
sudo update-mime-database /usr/share/mime
o en el por de los casos seleccionar el resaltado en el menú: Ver > Modo Resaltado.
Muchos diran “Pero el netbeans hace todo y mas” la verdad si.. pero que mas da a mi me gusta la simplicidad más que la cantidad, acá un vídeo del resulatado.
Gedit como Textmate para GtkSourceView 2.0 1
Hace algún tiempo que escribí sobre como pulir un poco Gedit para hacerlo al estilo Textmate.
La verdad después de la salida de NetBeans 6.0, me impresiono mucho en especial la integración con subversion
Se preguntaran porque ya existiendo un editor con la potencia de NetBeans alguna persona querría usar un editor básico como Gedit para desarrollar en Ruby on Rails; pues si… si existen personas que aprecian mucho la simplicidad, sensibles y potencia de algunos editores; de echo, algunas personas son más productivas que otras con un editor simple que con un IDE completo con una fila de botones :-)
Pues bien. después de tanta lata.. lo concreto es que migre todos los archivos de Gedit que funcionaban en la versión 1.0 de GtkSourceView a la versión 2.0, casi no hay cambios aunque la nueva especificación de GtkSourceView 2.0 da para jugar un poco más que su antecesora. Lo que no he podido hacer es que el código embebido de ruby resalte del código html :-( tal vez luego lo logre.
En fin para transformar tu Gedit casi casi en un textmate lo que debes hacer es lo siguiente:
1) Bajar todo de Aquí
2) Agregar las extensiones rhtml, rhtml.erb y rjs al archivo /etc/mime.types
echo -e "text/x-ruby-source rhtml html.erb \ntext/x-eruby rjs" | sudo tee -a /etc/mime.types
O puedes agregar las siguientes lineas al final del archivo /etc/mime.types
text/x-ruby-source rhtml html.erb
text/x-eruby rjs
3) Actualizar las nuevas extensiones mime types
sudo update-mime-database /usr/share/mime
4) Copiar el archivo x-rhtml.xml al directorio /usr/share/mime/packages
sudo cp gmate/mime/x-rhtml.xml /usr/share/mime/packages
5) Copiar las extensiones ruby.lang, rhtml.lang y rjs.lang al directorio /usr/share/gtksourceview-2.0/language-specs
sudo cp gmate/langs/*.lang /usr/share/gtksourceview-2.0/language-specs
6) Actualizar los plugins
cp -R gmate/plugins/* ~/.gnome2/gedit/plugins/
Si la carpeta ~/.gnome2/gedit/plugins no existe hay que crearla
7) Copiar los snippets (recortes)
cp -R gmate/snippets/* ~/.gnome2/gedit/snippets/
Si la carpeta ~/.gnome2/gedit/snippets no existe hay que crearla
8) Copiar el tema de colores
cp gmate/styles/Minimal.xml ~/.gnome2/gedit/styles/
Si la carpeta ~/.gnome2/gedit/styles no existe hay que crearla
9) Borra el directorio de tu sesion temporal de gnome
rm -Rf /tmp/gconfd-joselo
Donde “joselo” es tu nombre de usuario del sistema
10) Abre el Gedit y en el menú: Editar > Preferencias, tab “Complementos” realiza lo siguiente
Activar los plugins:
- Gemini (Que auto completa paréntesis, comillas, corchetes, etc)
- Panel del examinador de archivos (Menú: Ver > Panel Lateral)
- Recortes (Snippets)
- Snap Open (Con la combinación de las teclas CTRL+ALT+O se abre un dialogo donde puedes buscar los archivos que quieras)
Hay que desactiva el plugin de “completar paréntesis” que ya viene en Gedit, ya que puede dar conflictos con otro plugin (Gemini)
Obviamente puedes activar los plugins que desees pero esos son los básicos y mas funcionales a mi criterio
11) Seleccionar el tema “Minimal” en el menu: Editar > Preferencias, tab “Tipografias y Colores”
12) Por ultimo, si lo deseas en el menu: Editar > Preferencias, tab “Ver” puedes: Mostrar números de línea, Highlight current line y Mostrar margen derecho.
La fuente de letra que yo usos es Monaco de 9
Nota: Probablemente en la carpeta de recortes o snippets (~/.gnome2/gedit/snippets/) existan copias de seguridad es decir archivos que termina en “~” por favor eliminalos ya que Gedit también los lee y duplica las los Snippets.
También si por alguna razón al abrir archivos con extensión .rhtml, .html.erb o .rjs la sintaxis no resalta es necesario correr el comando:
sudo update-mime-database /usr/share/mime
o en el por de los casos seleccionar el resaltado en el menú: Ver > Modo Resaltado.
Si todo sale bien Gedit debería lucir así:



Saludos
Intalando Ruby-Debug
Requiero de Ruby Debug para trabajar en un proyecto pero tube algunos problemas instalandola en Ubuntu 7.10 lo normal seria hacer:
#sudo gem install ruby-debug
Pero tubé un problema que alguna vez ya me salio decía:
"extconf.rb:1:in `require': no such file to load -- mkmf (LoadError)"
Bueno la verdad no entiendo muy bien el error que dice que no puede compilar la gema para el sistema nativo o algo así, el caso es que como sucede en algunos paquetes de gnu/linux es necesario alguna libreria de desarrollo para que las aplicaciones puedan ser compiladas. En el caso especifico de este error buscando por google me sugieren instalar Ruby1.8-dev
#sudo apt-get install ruby1.8-dev
Pero nada que se arregla, por suerte gracias a página que se refiere a instalar otras cosas pero que le pasa el mismo problema, hay que instalar una libreria para que C pueda crear ejecutables.
#sudo apt-get install gcc make libc6-dev
Esta libreria la instale por el manejador de paquete Synaptic
Cambios en el blog 2
Metido en el mundo de ruby, comencé usando Typo como CMS para mi blog, luego probe Mephisto que esta muy bien, sin embargo me estaba dando algunos problemas y he vuelto a la sencillez de Typo.
Además de que Mephisto se ha estancado en la versión 0.7.3, de todas maneras es un CMS muy extensible y no hay que perderle las pisadas :-)
Microsoft prepara su propio framework MVC
“¡No!, Si nosotros venimos haciendo esto hace tiempo” Esta es la frase o algo parecido que alguna vez escuche en una de las conferencia hispana de Rails del 2006.
No recuerdo bien pero
creo que fue en la ponencia Rails para Vendedores, ahí se dijo alguna
vez que después de un tiempo alguien tomaría las ideas de Rails y luego hablarían de “Si nosotros venimos haciendo esto hace tiempo” la verdad estoy siendo un poco sarcástico, pero me acabo de enterar en blogs.onrails.com.ar que Microsoft prepara su propio framework MVC “Con más parecidos que diferencias con Ruby on Rails” la verdad no me sorprende que tantas de las buenas cosas que se hacen vienen de la mano del Open Source.
Y como alguien comenta en blogs.onrails.com.ar “Me parece bien que “copien” buenas ideas, espero no las destruyan tanto ;-)”.
Ya existe un Framework muy parecido a Rails para .Net llamado Caslte,
que toma casi todos los patrones de Rails como: el uso de partials,
content’s for, filtros, etc. Me alegra mucho que tomen la filosofía de
Rails, aunque hay características que se convierten más bien en
analogías, ya que Rails usa Ruby como lenguaje de programación al
contrario que Castle que
usa C#, en ese caso las cosas que se hacen en Clastle con C# me parecen
más transparentes usando Ruby que C#, ahora que se pongan a usar Ruby
en ves de C# sobre .Net nose… o una mezcla de ambos, puede que resulte
muy buena y extraiga las mejores características de los dos. Como de
hecho ya lo hace Java, usando Ruby como frontal.
Para terminar, comento que estoy trabajando con Caslte y nHibernate sobre .Net, y la verdad no me ha costado mucho adaptarme a Castle, ya que como les digo usa casi todos los patrones de Rails.
Por ultimo acotar que, si se llega al punto de parecerse tanto a una plataforma, no hace más que aceptar la robustez de la misma con sus pros y contras. En resumen me quedo con Ruby on Rails, de todas maneras “Si nosotros venimos haciendo esto hace tiempo” :-)
Libro de Ruby on Rails para bajar gratis
En SitePoint esta disponible un libro de Ruby on Rails para bajar de manera gratuita, el libro luce muy bien por los contenidos. También hay como bajar el código de los ejemplos que se desarrollan en el libro, la URL donde se puede bajar el código fuente esta en el libro. Cabe destacar que si se lo van a descargar no dejen pasar el tiempo ya que el libro estara disponible unicamente por 60 dias y a la fecha de este post ya deben haber pasado 5 :-)
Actualizaciones en Camelloalfin.com
El proyecto continua y vamos bien, a pesar que faltan algunas cosas en mente como “cachear” algunas coasa que se hacen con Ajax y determinadas áreas del sitio, hemos agregado un RSS con las ultimas empresas registradas.
También arreglamos ese molesto problema de las tildes y símbolos especiales usando un META para la codificación UTF-8
Emular Textmate en GNU/Linux 2
Actualización: Los archivos de esté artículo trabajan con Gtksourceview-1-0. Migré todos los archivos a la versión Gtksourceview-2-0. Todo esta Aquí
Se que a muchos le gusta TextMate para desarrollar en Ruby on Rails lamentablemente no hay uno para GNU/Linux, en artículos anteriores he intentado mostrarles como emular la experiencia de Textmate en Gedit, el editor por defecto de Gnome. Sin embargo hay que aceptar que Gedit no es un Textmate por excelencia, en algún momento pensé en tratar de escribir un Plugin para Gedit que soporte todas esas cosas que se pueden hacer RoR (Soporte de archivos RJS, RHTML, integración con Subversión, generación de modelos, vistas, resaltado de sintaxis, etc. ) en vez de estar escribiendo parches :) , esto porque la simplicidad de un buen editor se perdería al tener tantas cosas montadas sobre él, además de que ya existen buenos editores para ese publico exigente :) Aptana + RadRails.
En todo caso la flexibilidad que da Gedit siempre da lugar a que uno pase jugando para hacer más cómodo desarrollar en RoR. El punto es que; desde el ultimo articulo que escribí sobre este tema he actualizado las siguientes cosas:
- El soporte de archivos RJS, RHTML, YML ya estaba sin embargo los tipos MIME no, así que ahora ya están.
- Resaltado de palabras reservadas de RoR (render, redirect_to, etc.) Han visto los screencasts de RailsCasts, pues tambien actualice el tema para que se paresca al que sale en dichos screencasts.
- Actualización de snippets.
Todo esta comprimido en geditextmate.tag.gz.
Y tiene la siguiente estructura:
Si han leído los otros artículos sabrán donde colocarlos, de todas maneras explico:
Copiar el contenido de langs a /usr/share/gtksourceview-1.0/language-specs/
sudo cp -Rf langs/* /usr/share/gtksourceview-1.0/language-specs/
Copiar el contenido mimes a /usr/share/mime/text/
sudo cp -Rf mimes/* /usr/share/mime/text/
Copiar el contenido plugins a ~/.gnome2/gedit/plugins/
cp -Rf plugins/* ~/.gnome2/gedit/plugins/
Copiar el contenido preferences a ~/.gconf/apps/gedit-2/preferences/
cp -Rf preferences/* ~/.gconf/apps/gedit-2/preferences/
Copiar el contenido snippets a ~/.gnome2/gedit/snippets/
cp -Rf snippets/* ~/.gnome2/gedit/snippets/
Si alguna carpeta de destino no existe, por favor crearla. (snippets y plugins)
Para que se aplique las preferencias (tema) es necesario eliminar la carpeta /tmp/gconfd-joselo
rm -Rf /tmp/gconfd-joselo
ya saben donde joselo es su nombre de usuario.
A más de los que ya están seleccionados, los Plugins que yo tengo seleccionados (Menú Editar > Preferencias > Tab complementos ) son:
- Autocomplete
- Code comment
- Gemini
- Panel del examinador de archivos
- Selector de color
- Snap open
- Snippets
El resultado debería verse así:
El tipo de letra ya es deacuerdo al gusto yo uso BPG Courier Bold 11. Si te sentiste perdido en este articulo, por favor dale un vistazo al anterior en mi blog personal.
Eso es todo Saludos…
Recursos para aplicar Ruby on Rails
En un post en mi blog mencione que para “aplicar los conocimientos adquiridos en Rails” decidimos construir una pequeña aplicación piloto para ver que tal nos va y hasta que punto podemos llegar usando Ruby on Rails. Bien, pues ahora mismo ya la hemos terminado, no es la gran cosa pero si todo va bien se la ira mejorando y no es que nos hayamos sentado a programar sin levantar cabeza, todo lo contrario más bien se tubo que recurrir a Google, Listas de correo, screencasts, etc. Precisamente en este post intento mencionar los recursos que ayudan a un desarrollador que recién se inicia en el mundo de Rails. Al puro estilo DRY (Don’t Repeat Yourself) a mi criterio estos son los recursos que no pueden faltar:
La Lista de correo de Ruby on Rails en español es una lista muy activa que te salva de cosas que no puedes hacer, pero ya sabes primero recurre a google y si no mismo entonces si a prenguntar en la lista :)

Libro Ruby for Rails muestra una introducción a Ruby y luego al mundo de Rails

Libro Agile Web Development With Ruby on Rails Un libro que abarca casi todo el mundo de Rails con un caso práctico de ejemplo.

Libro Rails Recipes un completo conjunto de recetas para hacer cosas especificas en Rails.

Articulo de O’Reilly RJS Templates for Rails útil para usar Ajax con Rails.
Cheatsheets, pollas o como algunos les llaman Chuletas de Ruby on Rails son útiles documentos que resumen las cosas mas importantes y que por lo general siempre se usan.

