Rails 3 en Ubuntu Lucid con RVM
Hace unos días salió la versión RC de Rails3. Para instalarla en una Ubuntu Lucid recien instalada (sin ruby ni nada) lo mejor es hacerlo a través de RVM.
Instalamos sofware básico:
sudo apt-get install build-essential git-core curl libsqlite3-dev
Instalamos RVM:
bash < <( curl http://rvm.beginrescueend.com/releases/rvm-install-head )
Añadimos a nuestro $HOME/.bashrc la linea:
[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm"
Abrimos una nueva shell (o hacemos source .bashrc).
Instamos Ruby 1.9.2 (en estos momentos la versión instalada es la RC):
rvm install 1.9.2
Usamos esa versión de ruby:
rvm use ruby-1.9.2
Instalamos sqlite3 y rails con gem:
gem install sqlite3-ruby
gem install rails --pre
Publicado en Rails, Ubuntu | no comentarios |
Instalando Rails 3 beta en Ubuntu
La semana pasada salió la versión beta de la esperada versión 3 de Rails. La estoy probando en una Ubuntu Karmic 9.10 virtualizada con KVM. Para instalar esta versión hay que instalar ruby1.9 (aunque es compatible con ruby 1.8) y unas cuantas gemas:
apt-get install ruby1.9 ruby1.9-dev irb1.9 rdoc1.9
wget http://rubyforge.org/frs/download.php/60718/rubygems-1.3.5.tgz
tar -xvf rubygems-1.3.5.tgz
cd rubygems-1.3.5
sudo ruby1.9 setup.rb
sudo ln -s /usr/bin/ruby1.9 /usr/bin/ruby
sudo ln -s /usr/bin/gem1.9 /usr/bin/gem
gem install tzinfo builder memcache-client rack rack-test rake erubis mail text-format thor bundler i18n
gem install rack-mount --version 0.4.1
gem install rails --pre
Una vez instalado y al hacer un proyecto de pruebas con: rails prueba; cd prueba; rails server pega unos cuantos petes:
Hay que poner la variable de entorno GEM_HOME correctamente:
export GEM_HOME=/usr/lib/ruby1.9/gems/1.9.0
Mejor ponerla en algún script de inicio como $HOME/.bashrc
undefined method `default_external=' for Encoding:Class (NoMethodError)
Con este fallo lo único que he encontrado es comentar la línea de la que se queja.
require': no such file to load -- ftools (LoadError)
sudo apt-get install rpl
cd /usr/lib/ruby1.9/gems/1.9.0/gems/
sudo rpl -R "require 'ftools'" "" * Ah! y no se os ocurra poner como nombre de proyecto alguna palabra reservada como test, porque sino dará otro bonito error: (uninitialized constant Rack::Test::Application (NameError) if
application is named 'Test'. Stack trace:
Publicado en Rails | no comentarios |
Gmate
Después de instalar Ubuntu Karmic en una de mis máquinas me puse a instalar y configurar mis aplicaciones típicas.
Para programar uso Gedit con una serie de plugins. Buscando por ahí me topé con el proyecto Gmate que consiste en poner los plugins y configuraciones necesarias para emular al famoso TextMate de Mac, muy usado por los programadores Rails.
La verdad que mola mucho como deja Gedit.
Publicado en Gnome, Rails | no comentarios |
Bonito bug en Rails 2.3.3
El otro día me topé con un "bonito" bug de la última versión de Rails, la 2.3.3
El fallo en custión es del sistema de envíos de correos, ActionMailer, que no funciona cuando le pones un "From" con un nombre:
From "Fulano <noreply@fulano.com>"
El error que suelta:
Net::SMTPSyntaxError (501 <Fulano <noreply@fulano.com>>: "@" or "." expected after "Fulano"
Hay que aplicar este parche para hacerlo funcionar.
Un error bastante grave para una versión estable.
Publicado en Rails | no comentarios |
Cucumber
Mi punto flojo dentro del mundo de la programación Rails siempre ha sido el Testing. Siempre que me ponía a estudiarlo, los comienzos eran prometedores pero después resultaba bastante complejo y, por qué no decirlo, aburrido.
Hace poco quise ponerme al día en este campo y utilizar nuevas herramientas, como Cucumber. Más que para testing de aplicaciones, es una herramienta para realizar BDD (Behaviour Driven Development o Desarrollo orientado al comportamiento) y lo que es mejor, es divertida :)
Se utilizar lenguaje natural, por defecto inglés pero se pueden utilizar en otros idiomas como el español (aunque yo la uso en inglés) para describir características de nuestra aplicación. Por poner un ejemplo:
Given I'm logged in
And I there are products "ordenador", "teclado"
When I go to the list of products
Then I should see "ordenador"
And I should see "teclado"
Con esto, cucumber intenta parsear estas acciones o pasos con definiciones en ruby. La estructura está fijada en Given/When/Then. Given para poner la aplicación en un estado conocido, When para definir la acción realizada y Then para describir el resultado deseado.
En definitiva, una herramienta que me ha descubierto un campo nuevo en la forma de desarrollar aplicaciones web.
Para más información sobre cucumber, recomiento este railscasts sobre el tema.
Publicado en Rails | no comentarios |
Dos cosillas rápidas de Rails
Para saber la ip remota del cliente:
request.env['REMOTE_ADDR']
Para ejecutar un comando de la shell:
salida=%x{ ls -la }
Solo eso...
Publicado en Rails | no comentarios |
Tesidi, organizador de viajes
Aprovechando esta semana de vacaciones en casa, he recortado algunos flecos (y seguro, dejado otros) de la aplicación que desarrollé en verano y la he puesto online.
El proyecto se llama Tesidi, un organizador online de viajes, donde puedes anotar horarios, precios, códigos de reserva y más de tus reservas hechas por internet.
Más que una idea de realizar este tipo de aplicación fué una necesidad, ya que los organizadores que ya existen no me gustaba ninguno, así que decidí crearme uno.
Después de un toque diseño por parte de un amigo y un período de pruebas por partes de otros amigos (gracias!), me he decidido lanzarla públicamente.
Espero sugerencias, bugs, etc.. y espero que guste!
Publicado en Viajes, Rails | no comentarios |
Documentación de las gems de ruby
En una terminal, teclear: gem_server y cargar en un navegador http://localhost:8808. Veremos la documentación de las "gemas" instaladas en nuestro sistema.
Visto en uno de los blogs de Planet Ruby on Rails.
Publicado en Rails | no comentarios |
Railsconf en Madrid
A ver si saco tiempo después del viaje y preparo una sobre como conectar Asterisk y Rails a través de Ragi.
Publicado en Rails | no comentarios |
Rails 1.1.2 en Ubuntu Breezy
deb http://us.archive.ubuntu.com/ubuntu breezy main restricted
a:
deb http://us.archive.ubuntu.com/ubuntu dapper main restricted
Seguidamente:
sudo apt-get update
sudo apt-get install ruby1.8
gem install rails --include-dependencies
Una vez hecho esto, podemos cambiar el source.list a breezy de nuevo.
Y hablando de Ubuntu, hoy ha salido la beta de Dapper 6.06. También han publicado un proceso de actualización desde Breezy.
Publicado en Rails | 45 comentarios |
Older posts: 1 2