Archivos en la categoría ruby

Revista Atix numero 7 liberado.

caja07_bla-220x300

La revista sobre el software libre: Atix, lanzo la séptima entrega de su revista, que apuesta por el conocimiento libre y que para este numero lo entrega con el siguiente lema:

Un nuevo año…. un nuevo reto, pon tu mejor empeño para lograr tu reto de este año.

cuenta con la tercera parte del desarrollo de una aplicación de gestión de artículos ATIX, en Ruby on Rails, en la que explico como reutilizar código a través de plugins o gemas, utilizar el repositorio de gemas de Git Hub y manipular la gema Will_paginate.

Además subí el código fuente en mi cuenta de GitHub

Descargar Revista Atix #7

Revista Atix numero 6 liberado.

revista_atix_6_carakan

La revista sobre el software libre: Atix, lanzo la sexta entrega de su revista, que apuesta por el conocimiento libre y que para este numero lo entrega con el siguiente lema:

El ser todos iguales, nos llevará a tener y vivir un futuro mejor.

Como una forma de apoyo, realice la segunda parte del desarrollo de una aplicación en Ruby on Rails, con el cual hablo sobre la nueva versión de Rails la 2.2 como realizar una migración de anteriores versiones, y manejo de relaciones con Active Record.

Descargar Revista Atix #6

Nueva imagen de Bolivia On Rails y tema wp español

Este fin de semana estuve trabajando en la nueva imagen de Bolivia on Rails, un sitio dedicado al desarrollo de ruby on rails dentro y fuera de Bolivia, lo deje un poco estancado este proyecto pero gracias a la colaboración  de Boris Barroso estoy retomando el camino y además quiero informar de que ahora los tutoriales o cosas relacionadas con Rails serán publicadas en el Sitio de Bolivia on rails.

Bolivia on rails

Bolivia on rails

Otra noticia que se hará costumbre es que pongo a disposición el thema en Wordpress para que puedan utilizarlo en sus propios blogs, es un tema oscuro que me gusta por la combinación de colores, lo traduje y ahora lo comparto además que dejo el fuente de la cabecera en photoshop para que puedan editarlo, así que disfrútenlo.

Demo, Descargar thema wordpress.

Nuevo version del interprete ruby para entornos windows

Gracias a Favio Akita me entere de una nueva version del interprete de Ruby para los entornos windows, tengo algunos proyectos corriendo sobre esta plataforma, esta nueva version esta siendo desarrollado por Luis Lavena, el cual es 20% mas veloz, he realizado las pruebas y vi que tiene algunos defectos menores pero logre instalar rails 2.1.0 y las gemas mas importantes para la puesta en producción y comparto para que vean lo bien que se pinta esta nueva versión.

Descargar.

Nota: He parchado la gema mongrel, ya que hace una referencia al antiguo runtime [MSWin] y no al actual [MinGW], Ademas el paquete es de proposito evaluativo.

Nota 2: Las gemas instaladas son:


*** LOCAL GEMS ***

abstract (1.0.0)
actionmailer (2.1.0)
actionpack (2.1.0)
activerecord (2.1.0)
activeresource (2.1.0)
activesupport (2.1.0)
cgi_multipart_eof_fix (2.5.0)
erubis (2.6.2)
gem_plugin (0.2.3)
json_pure (1.1.3)
linecache (0.43)
mongrel (1.1.5)   # Parcheado para que funcione en el nuevo interprete
mysql (2.7.3)
rack (0.3.0)
rails (2.1.0)
rake (0.8.1)
rspec (1.1.4)
ruby-debug-base (0.10.1)
ruby-debug-ide (0.2.1)
sqlite3-ruby (1.2.2)
win32-api (1.2.0)
win32-clipboard (0.4.3)
win32-dir (0.3.2)
win32-eventlog (0.4.8)
win32-file-stat (1.3.0)
win32-process (0.5.9)
win32-sapi (0.1.4)
win32-sound (0.4.1)
win32console (1.1.0)
windows-api (0.2.4)
windows-pr (0.9.1)

Problema de ImageMagick (rmagick) y passenger (mod_rails)

Recientemente en uno de mis proyectos estamos utilizando el plugin para subir archivos paperclip tutorial, este plugin tiene características de re-dimension de imágenes pero dentro de nuestro servidor web no funcionaba, lo que nos parecio bastante raro, buscando por internet encontré que el problema se debía al momento de usar mod_rails, el cual no cargaba las librerías necesarias, en este caso a ImageMagick, aqui el mismo problema pero para oracle y algunas de sus librerias.

La solución es la siguiente:

Ir a la carpeta del ejecutable de ruby, en mi caso utilizo ruby-enterprise y que instale en /opt/ruby/bin, o en una carpeta cualquiera que tengas acceso se crea el archivo ruby_rmagick asi:

sudo vi /opt/ruby/ruby_rmagick

Y dentro de este archivo se añade:

#!/bin/bash
export MAGICK_HOME="/usr/local/lib/ImageMagick-6.4.2" # ruta a ImageMagick
export DYLD_LIBRARY_PATH="$MAGICK_HOME/lib"
export PATH=$MAGICK_HOME/bin:/usr/local/bin/:$PATH /opt/ruby/bin/ruby $*  # ruta al Interprete de ruby

Esto añade las variables necesarias y llama al interprete de ruby, lo guardamos y le asignamos permisos de ejecucion:

sudo chmod +x /opt/ruby/ruby_rmagick

Ahora editamos el archivo con el que se configuro mod_rails para que cargue el nuevo archivo que acabamos de grabar:

LoadModule passenger_module /opt/ruby/lib/ruby/gems/1.8/gems/passenger-2.0.2/ext/apache2/mod_passenger.so
PassengerRoot /opt/ruby/lib/ruby/gems/1.8/gems/passenger-2.0.2
PassengerRuby /opt/ruby/bin/ruby_rmagick    # Aqui se cambia al nuevo interprete

Este archivo de configuracion es para passenger 2.0.2 para versiones 1.X.X debes de cambiar

RailsRuby /usr/local/bin/ruby_rmagick

Actualizacion: 18 junio 2009

He arreglado un poco las instrucciones, al parecer lo hice muy a la rapida.

En Puerto Rico lo ven ahora, en Argentina lo vieron hace tres años y en Bolivia hace un año

Escribo este post al leer el Blog Argentina on Rails, el cual el autor Pedro Visintin es entrevistado por Radar TI un sitio puertoriqueño de desarrollo, en el cual se hace incapie en que Rails es lo que fue Java en los 90, el gran boom en cuanto a desarrollo de software se refiere.

Saludos a Pedro por la evangelización que realiza en toda america latina y decirle que aqui en Bolivia tiene todo el apoyo.

enlace:
Gartner lo ve ahora pero nosotros lo vimos hace casi 3 años

Llamar a procedimientos PL/SQL de Oracle con ruby-plsql

Buscando una manera mas sencilla de poder llamar a procedimientos almacenados de Oracle pl/sql, encontré la gema ruby-plsql que es una simple API para procedimientos almacenados en oracle, su uso es muy sencillo como el siguiente:

Si tenemos el siguiente paquete:


CREATE OR REPLACE PACKAGE BODY scott.pck_prueba IS
    PROCEDURE LeeDatos(p_in VARCHAR2, p_out OUT VARCHAR2) IS
       BEGIN
       p_out := 'Se introdujo: ' || p_in;
    END;
END;

Ahora dentro del código, como ejemplo dentro del controlador:


require “ruby_plsql”
class UsuariosController < ApplicationController
  def index
    @usuarios = Usuario.all
    plsql.connection = OCI8.new(”SCOTT”, “PASS”)
    @hola = plsql.pck_prueba.LeeDatos(”Hola desde Oracle”)
    plsql.logoff
  end
end

Y para mostrar el dato, en la vista:


<%= @hola[:p_out] %>

Para poder instalar la gema solamente teclee:

[sudo] gem install ruby-plsql

Realmente me facilito bastante el trabajo, me gusta el concepto y el uso que engloba la metaprogramacion.

Nota.- Trabajando con la gema note que no trabaja en procedimientos con variables de entrada y salida, sino solamente de entrada o salida.