Tagged:ruby 1.9.2

Script ruby para hacer whois programado con crontab

Hace poco quise contratar un dominio que un anterior propietario había dejado caducar. Desde que me di cuenta de que el dominio había caducado hasta que lo pude contratar pasaron unos 90 días. Estuve pendiente durante los más de 70 días que GoDaddy lo tuvo en estado de «redemptionPeriod» (un estado que sólo debería durar 30 días según la ICANN), y posteriormente pendiente durante el estado «pendingDelete», que en teoría debería durar sólo 5 días, pero cuando ya llevaba 7 consultando el whois 3 ó 4 veces al día, decidí que prefería que una máquina hiciera el trabajo por mi, así que me puse a fabricar un script con Ruby que hiciera el trabajo. Read more

Instalar Ruby on Rails en Windows 7

En el momento de escribir este artículo:
Versión de Ruby : 1.9.2
Versión de RubyGems : 1.3.7
Versión de Rails : 3.0.0

Según la página de RoR la instalación es coser y cantar, sin embargo la realidad es algo diferente. La teoría, según http://rubyonrails.org/download es:
1. Descargar el instalador de Ruby y ejecutarlo.
2. Descargar RubyGems e instalarlo usando el comando «ruby setup.rb» en la carpeta que acabamos de descomprimir.
3. Instalar Rails mediante RubyGems ejecutando el comando «gem install rails».

En la práctica, el paso 1 funciona sin problemas, pero al intentar instalar RubyGems nos encontramos con el error:

«source_index.rb:68:in `installed_spec_directories’: undefined method `path’ for Gem:Module (NoMethodError)»

Después de dar muchas vueltas averigüé que el problema es que Ruby 1.9.2 ya viene con RubyGems de serie, por lo que el intento de reinstalación falla. Solución: Simplemente obviar la instalación de RubyGems. Simple, ¿no?, espero haberte ahorrado varias horas de revisión de código, lectura de foros, etc.

Bien, el siguiente paso es instalar Rails, lo cual va como la seda.

Una vez instalado, sin embargo, cuando intentemos poner en marcha nuestro primero proyecto después de crearlo y cuando ya pensábamos que estaba todo ganado, el sistema nos volverá a sorprender con otro mensaje de error:

«Could not find sqlite3-ruby-1.3.1-x86-mingw32 in any of the sources»

Este es fácil de solucionar, Ruby nos informa que sqlite no está instalado, y como es el servidor de BD por defecto, se queja. Ejecutando:

gem install sqlite3-ruby

queda solucionado. Sin embargo la impaciencia nos hará volver a intentar lanzar nuestro proyecto, así que es muy posible que obtengamos el nuevo error :

«sqlite3-ruby-1.3.1-x86-mingw32/lib/sqlite3.rb:6:in `require’: no such file to load — sqlite3/sqlite3_native (LoadError)»

Otra vez volví a dar muchas vueltas hasta que me di cuenta de que al instalar sqlite3, el sistema me había informado que las DLLs necesarias para poder ejecutar este módulo (gem) están en http://www.sqlite.org/sqlitedll-3_6_23_1.zip, es decir la instalación del módulo mediante «gem install» no es suficiente, además hay que instalar una dll manualmente. Así que descargamos ese fichero, lo descomprimimos y copiamos su contenido en la carpeta bin de nuestra instalación de Ruby, que en mi caso es c:\Ruby192\bin\. Una vez hecho esto, podremos por fin poner nuestro servidor Webrick en marcha y comenzar a trabajar simplemente ejecutando:

rails server

Espero que sea de utilidad. ¡Y happy Railing!

{ Piensa / Think }

"This is a waste of life. [...] the entire educational system in the modern day is nothing more than a cookie cutter processing plant that prepares humans for mostly predefined occupational roles. This element of human life has become so traditionally ingrained, that many falsely consider the nature of ‘having a job’ some form of human instinct. Even parents will ask their kids “What do you want to be when you grow up?” as though there was only one thing. This is disturbing and a violation of human potential." - The Zeitgeist Movement


"He aprendido que hay cosas que pueden ser comprendidas pero que nunca podrán ser explicadas con palabras sin desvirtuar su grandeza" - Andrés Pascual


"You never change things by fighting the existing reality. To change something, build a new model that makes the existing model obsolete." - Buckminster Fuller


"... I am the master of my fate. I am the captain of my soul." - William Ernest Henley