Ruby on rails

Image Science

Por Boris Barroso

Saludos y una disculpa por no haber escrito posts en tiempo o haber hecho posts que tal ves correspondan a un microblog (jeje), recientemente descubri esta gema http://seattlerb.rubyforge.org/ImageScience.html, que a todos los que detestamos Rmagick es una salvación. Esta gema depende de la librería http://freeimage.sourceforge.net que según veo es muy escalable y rápida.

Como escribir mucho menos CSS

Por Boris Barroso

Todos sabemos el tedio que resulta cuando uno tiene que trabajar con hojas grandes de estilo en CSS, todos queremos una solución mas simple y mas estructurada, y esto es posible con la gema para ruby less, para poder instalarla deben tener rubygems y ejecutar el comando

sudo gem install less

Leer el resto del articulo »

Debugueando con ruby-debug

Por Boris Barroso

Saludos de nuevo despues de haber públicado posts por algún tiempo, el tema es como hacer debugging aplicaciones Rails con ruby-debug, esta gema nos permite debuggear nuestras aplicaciones de una forma simple. Comencemos con las instalacion de la gema

gem install ruby-debug

Una ves instalada la gema si creamos una aplicación rails queremos que esta gema solo funcione en nuestro entorno de desarrollo y test, entonces dirijanse en su aplicacion editen los archivos config/enviroments/development.rb, config/enviroments/test.rb, y aumenten la siguiente linea al final

config.gem 'ruby-debug'

Lo cual permitirá que funcione ruby-debug, en caso de que esten en algún otro Framework como Sinatra lo único que tienen que hacer es aumentar en la primera línea

require 'ruby-debug'

para poder utilizar ruby-debug lo que hay que hacer es lo siguiente, dado que tengamos el código en algún archivo para que pogamos un punto de control lo hacemos así:

def index
  @menus = Menu.all :order => "fecha DESC"
  debugger # Punto de control
  respond_to do |format|
    format.html
    format.xml {render :xml => @menus}
  end
end

enonces debo ejecutar script/server vamos a la dirección donde se ejecutará nuestro código con el navegador y volvemos donde ejecutamos el script/server, me mostrará lo siguiente:

Redirected to http://localhost:3000/menus
Completed in 32ms (DB: 1) | 302 Found [http://localhost/session]
/home/boris/rails/mayasg/app/controllers/menus_controller.rb:7
respond_to do |format|
(rdb:1)

Donde muestra (rdb:1) intoducimos list y nos mostrará el código donde esta parado, si introducimos irb y luego @menus nos devolvera la variable, como en modo consola solo que estamos debugueando y tenemos acceso a variables como session, params, etc. para salir del modo consola escribimos exit, para poder ver la lista de comandos introducimos help, para poder ver donde estamos introducimos where, para moverse en el debug ingresan step, para ver la lista de hilos introduces thread list, introduciendo var local les presentará las variables locales, y si introduces var global les mostrará un listado de las variables globales finalmente para poder continuar el script introducimos cont.

Esperó les sirva de algo este tutor saludos hasta un proximo tutor o artículo.

Como usar GIT

Por Boris Barroso

Seguro que muchos de ustedes han usado o usan alguna herramienta de versionamiento como GIT, Mercurial, Subversion u otras herramientas de versionamiento, particularmente solo he tenido la experiencia de usar Subversion y GIT. Si desean ver una comparación donde obviamente tiene una opinión a favor de GIT vean esta página http://whygitisbetterthanx.com/, por mi experiencia creo que definitivamente GIT es superior que Subversion por:

Leer el resto del articulo »

Rails 2.3 RC1

Por Boris Barroso

Saludos raileros, mientras me preparo para tomar mi curso de Django les anuncio de que la nueva versión de rails 2.3 esta preacticamente lista, en esta versión se han realizado varios cambios importantes, dentro de los cuales los que mas me gustan son los nested forms que permiten realizar formas enlazadas, osea que uno puede crear formas que tienen dependencias (hijos) y manejarlas de forma muy simple, tambien las nested transacctions que permite realizar transacciones una dentro la otra (Osea una transacción puede tener otra transaccion interna), y esto permite de que nosotros podamos decidir si una transacción interna pueda afectar a la principal o solo la que es interna (nested) haga rollback. Para poder aprender especialmente con esta nueva versión de Rails pueden visitar guide.rubyonrails.org

Saludos a todos.

Rails es Merb y viceversa

Por carakan

Me acabo de enterar que tanto Rails como Merb unirán fuerzas, si es una noticia buena para la comunidad de que desarrolla en el lenguaje de programación Ruby.

La Union Hace la Fuerza!!!

Esto sera realidad en la proxima version de rails 3, una noticia grata para Navidad.

Enlaces:

Importando archivos de Excel y OpenOffice con roo

Por Boris Barroso

roo es una gema para ruby que permite importar archivos de excel “.xls”, excel 2007 “.xlsx” y OpenOffice “.ods” asi como google Spreadsheets en línea. Es muy simple usar esta gema, lo primero que deben de hacer es instalar la gema

gem install roo

Si no tienen conexion a internet es posible descargar el archivo de http://rubyforge.org/projects/roo/ una ves descargado vayan hasta el directorio donde este la gema en su computadora y ejecuten el siguiente comando de acuerdo al archivo que hayan descargado, en caso de que hayan descargado la version 1.2.2

gem isntall roo1.2.2.gem

Una ves teniendo la gema instalada comencemos a ver como se usa esta gema por ejemplo para importar datos de un archivo Excel “.xls”, creen una acción en un controlador

def importar
  require 'roo'
  @excel = Excel.new("hoja.xls") # Indiquen la dirección donde se encuentra el archivo
  @excel.default_sheet = @excel.sheets.first # Definimos página por defecto
end

Lo que hacemos aquí es leer el archivo del lugar donde tengamos este archivo y luego creamos una vista simple para poder ver lo que se importa, entonces creen la vista importar.html.erb

<table>
<% 1.upto(50) do |fila| %>
<tr><td><%= @excel.cell(fila,'A') %></td>
<td><%= @excel.cell(fila,'B') %></td></tr>
<% end %>
</table>

Aquí se comienza a leer las celdas que uno quiera, como pueden ver el acceso es similar al de excel, usando una letra del alfabeto para poder acceder a la columna y un número para poder acceder a la fila, según lo que pude comprobar la importación más rápida la realiza de archivos “.xls”, traten de que los archivos no sean muy grandes ya que si el archivo es grande tardara mucho tiempo en importar la información.

Liberado Enano: CMS Boliviano realizado en Ruby on Rails + Ext js

Por carakan

Pantallazo

Gracias al trabajo desinteresado de Boris Barroso acaba de publicar un CMS llamado enano, este proyecto tiene un file browser realizado enteramente en Ext, muy intuitivo e interesante, la pagina del proyecto es:

http://github.com/boriscy/enano/tree/master

Un gran aporte a la comunidad open source y Ruby on Rails, esperamos su apoyo para ir mejorando este CMS.

CMS Enano Ruby on Rails

Heroku, desarrollo de aplicaciones Ruby on Rails en el Browser

Por Boris Barroso

heroku.com , es un sitio Web que provee a los desarrolladores de Ruby on Rails un espacio libre, que permite desarrollar aplicaciones Rails sin necesidad de tener que instalara nada en tu computadora, (Solo Firefox si es que no lo tienes). El sitio permite que los desarrolladores tengan un excelente ambiente de desarrollo con herramientas de versionamiento como GIT, uno puede editar el código en el navegador, para esto es necesario usar Firefox, pero si eres desarollador WEB y no usas Firefox debes estar algo LOCO, permite escalabilidad a traves de EC2, uno puede importar proyectos realizados en su propio computador. Para todos los interesados visiten: http://heroku.com

Denle una oportunidad es realmente una buena herramienta Gratutia

Conferencia rails hispana 2008

Por carakan

Si en Madrid, España para los que quieran ver el evento en vivo esta la siguiente URL:

Las charlas de la sala uno se ven en este streaming
Las charlas de la sala dos se ven en este streaming

No se lo pierdan, y pronto para los que no estuvimos presentes en esta conferencia, estarán disponibles los videos para su descarga.

Mas información en la pagina oficial del evento Conferencia Rails Hispana