<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Linux, computación y más... &#187; Ruby</title>
	<atom:link href="http://antoniomtz.org/category/ruby/feed/" rel="self" type="application/rss+xml" />
	<link>http://antoniomtz.org</link>
	<description></description>
	<lastBuildDate>Thu, 09 Feb 2012 06:04:07 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Conexión Ruby con PostgreSQL</title>
		<link>http://antoniomtz.org/2009/02/conexion-ruby-con-postgresql/</link>
		<comments>http://antoniomtz.org/2009/02/conexion-ruby-con-postgresql/#comments</comments>
		<pubDate>Wed, 25 Feb 2009 16:10:05 +0000</pubDate>
		<dc:creator>antoniomtz</dc:creator>
				<category><![CDATA[Base de datos]]></category>
		<category><![CDATA[Programación]]></category>
		<category><![CDATA[Ruby]]></category>

		<guid isPermaLink="false">http://localhost/wordpress2/?p=137</guid>
		<description><![CDATA[Este el el código para realizar una conexión en ruby con el motor de base de datos PostgreSQL. #!/usr/bin/env ruby require 'postgres' conn = PGconn.connect("localhost", 5432, '', '', "test", "myid", "mypass") res = conn.exec('select tablename, tableowner from pg_tables') res.each do &#124;row&#124; row.each do &#124;column&#124; print column (20-column.length).times{print " "} end puts end]]></description>
			<content:encoded><![CDATA[<p>Este el el código para realizar una conexión en <a href="http://www.antoniomtz.org/?q=node/29">ruby</a> con el motor de base de datos <a href="http://www.antoniomtz.org/?q=postgresql">PostgreSQL</a>.</p>
<pre>
#!/usr/bin/env ruby
require 'postgres'
conn = PGconn.connect("localhost", 5432, '', '', "test", "myid", "mypass")
res  = conn.exec('select tablename, tableowner from pg_tables')
res.each do |row|
	row.each do |column|
		print column
		(20-column.length).times{print " "}
	end
	puts
end
</pre>
]]></content:encoded>
			<wfw:commentRss>http://antoniomtz.org/2009/02/conexion-ruby-con-postgresql/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Altas, bajas y cambios (ABC) en Ruby On Rails (RoR)</title>
		<link>http://antoniomtz.org/2009/01/altas-bajas-y-cambios-abc-en-ruby-on-rails-ror/</link>
		<comments>http://antoniomtz.org/2009/01/altas-bajas-y-cambios-abc-en-ruby-on-rails-ror/#comments</comments>
		<pubDate>Thu, 22 Jan 2009 17:29:47 +0000</pubDate>
		<dc:creator>antoniomtz</dc:creator>
				<category><![CDATA[Programación]]></category>
		<category><![CDATA[Ruby]]></category>

		<guid isPermaLink="false">http://localhost/wordpress2/?p=105</guid>
		<description><![CDATA[Para realizar este tutorial de ABC, debemos seguir los tutoriales pasados de ruby y Ruby on Rails para tener instalado lo necesario. Vamos a realizar un ejercicio de altas, bajas y cambios utilizando RoR, primero vamos a crear nuestro proyecto con la siguiente instrucción e ingresamos a él: $ rails proyecto_rails create create app/controllers create [...]]]></description>
			<content:encoded><![CDATA[<p>Para realizar este tutorial de ABC, debemos seguir los tutoriales pasados de <a href="http://www.antoniomtz.org/?q=node/29">ruby</a> y <a href="http://www.antoniomtz.org/?q=ruby-on-rails">Ruby on Rails</a> para tener instalado lo necesario.</p>
<p>Vamos a realizar un ejercicio de altas, bajas y cambios utilizando RoR, primero vamos a crear nuestro proyecto con la siguiente instrucción e ingresamos a él:</p>
<pre>
$ rails proyecto_rails
create
      create  app/controllers
      create  app/helpers
      create  app/models
      create  app/views/layouts
      create  config/environments
      create  config/initializers
      create  db
      create  doc
      create  lib
      create  lib/tasks
      create  log
...
$ cd proyecto_rails
</pre>
<p>Esta nueva versión de rails, trabaja por default con SQLite3, por lo que no hay que meternos al archivo de configuración de base de datos, si queremos cambiar de gestor de base de datos podemos irnos al archivo <b>config/database.yml</b>:</p>
<pre>
development:
  adapter: sqlite3
  database: db/development.sqlite3
  timeout: 5000

test:
  adapter: sqlite3
  database: db/test.sqlite3
  timeout: 5000

production:
  adapter: sqlite3
  database: db/production.sqlite3
  timeout: 5000
</pre>
<p>Rils trabaja con 3 bases de datos, las cuales son de desarrollo, pruebas y producción, como ven , viene configurado para trabajar con sqlite3, si queremos trabajar por ejemplo con mysql, modificaremos los siguiente:</p>
<pre>
development:
  adapter: mysql
  database: dbname
  host: localhost
  username: user
  password: pass
</pre>
<p>Si ustedes gustan pueden comentar el apartado de test y production y solo trabajar con development.</p>
<p>Después de tener configurado nuestra base de datos, en este caso como les comenté trabajaremos con sqlite3 como viene por default, ahora utilizaremos un método llamado scaffold, es un método para contruir aplicaciones basadas en bases de datos, esta técnica está soportada por algunos frameworks del tipo MVC en el cuál el programador escribe una especificación que describe cómo debe ser usada la base de datos.</p>
<pre>
$ ruby script/generate scaffold pelicula titulo:string descripcion:text email:string fecha:date
 exists  app/models/
      exists  app/controllers/
      exists  app/helpers/
      create  app/views/peliculas
      exists  app/views/layouts/
      exists  test/functional/
      exists  test/unit/
      exists  public/stylesheets/
      create  app/views/peliculas/index.html.erb
      create  app/views/peliculas/show.html.erb
      create  app/views/peliculas/new.html.erb
      create  app/views/peliculas/edit.html.erb
      create  app/views/layouts/peliculas.html.erb
      create  public/stylesheets/scaffold.css
...
</pre>
<p>Explico, pelicula es el nombre de la tabla, titulo, descripcion, email y fecha son los campos de la tabla con sus respectivos tipo de dato. Ahora utilizaremos un rake para migrar la bd:</p>
<pre>
$ rake db:migrate
== 20081117205817 CreatePeliculas: migrating ==================================
-- create_table(:peliculas)
   -> 0.0092s
== 20081117205817 CreatePeliculas: migrated (0.0096s) =========================
</pre>
<p>Y por último corremos el servidor WebRick:</p>
<pre>
$ ruby script/server
=> Booting WEBrick...
<code>=> Rails 2.1.0 application started on http://127.0.0.1:3000</code>
...
</pre>
<p>Abrimos un navegador y tecleamos <b>localhost:3000/peliculas</b>.</p>
<p><a href="http://farm4.static.flickr.com/3235/3039286230_3f4a2e7557_o.png" title="ror1 por tono_mtz, en Flickr"><img src="http://farm4.static.flickr.com/3235/3039286230_a3fb55be08_m.jpg" width="240" height="146" alt="ror1" /></a> <a href="http://farm4.static.flickr.com/3007/3039286232_d5f2aec07e_o.png" title="ror2 por tono_mtz, en Flickr"><img src="http://farm4.static.flickr.com/3007/3039286232_6b553ec840_m.jpg" width="240" height="146" alt="ror2" /></a></p>
<p>Como podemos observar, en tan solo unos minutos tenemos un ABC rápido y funcional, podemos jugar un poco con los css para darle diseño, se encuentra en el directorio public/stylesheets/scaffold.css y cambiar el aspecto a nuestra página.<br />
<center><a href="http://www.flickr.com/photos/31740679@N06/3039307974/" title="Pantallazo-Peliculas: index - Iceweasel por tono_mtz, en Flickr"><img src="http://farm4.static.flickr.com/3179/3039307974_577e06e9e7.jpg" width="500" height="304" alt="Pantallazo-Peliculas: index - Iceweasel" /></a></center></p>
]]></content:encoded>
			<wfw:commentRss>http://antoniomtz.org/2009/01/altas-bajas-y-cambios-abc-en-ruby-on-rails-ror/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Ruby On Rails (RoR)</title>
		<link>http://antoniomtz.org/2008/11/ruby-on-rails-ror/</link>
		<comments>http://antoniomtz.org/2008/11/ruby-on-rails-ror/#comments</comments>
		<pubDate>Sat, 08 Nov 2008 00:59:11 +0000</pubDate>
		<dc:creator>antoniomtz</dc:creator>
				<category><![CDATA[Ruby]]></category>

		<guid isPermaLink="false">http://localhost/wordpress2/?p=91</guid>
		<description><![CDATA[Ruby on Rails, también conocido como RoR o Rails es un framework de aplicaciones web de código abierto escrito en el lenguaje de programación Ruby, siguiendo el paradigma de la arquitectura Modelo Vista Controlador (MVC). Trata de combinar la simplicidad con la posibilidad de desarrollar aplicaciones del mundo real escribiendo menos código que con otros [...]]]></description>
			<content:encoded><![CDATA[<p style="float:right"><img src="http://farm4.static.flickr.com/3146/3011934000_4b6c691896_m.jpg"></p>
<p>Ruby on Rails, también conocido como RoR o Rails es un framework de aplicaciones web de código abierto escrito en el lenguaje de programación Ruby, siguiendo el paradigma de la arquitectura <a href="http://es.wikipedia.org/wiki/Modelo_Vista_Controlador">Modelo Vista Controlador</a> (MVC). Trata de combinar la simplicidad con la posibilidad de desarrollar aplicaciones del mundo real escribiendo menos código que con otros frameworks y con un mínimo de configuración. El lenguaje de programación Ruby permite la metaprogramación, de la cual Rails hace uso, lo que resulta en una sintaxis que muchos de sus usuarios encuentran muy legible. Rails se distribuye a través de <a href="http://es.wikipedia.org/wiki/RubyGems">RubyGems</a>, que es el formato oficial de paquete y canal de distribución de librerías y aplicaciones Ruby.</p>
<p>Una vez realizado el <a href="http://www.antoniomtz.org/?q=node/29">Tutorial Ruby</a> anterior, procedemos a instalar RoR:<br />
Podemos instalarlo desde apt en debian ó desde el mismo Rubygems</p>
<pre>
# aptitude install rails
</pre>
<p>ó</p>
<pre>
# gem install rails
</pre>
<p>Ahora crearemos nuestro primer proyecto:</p>
<pre>
$ rails mi_proyecto
$ cd mi_proyecto
</pre>
<p>Esto creará una seria de archivos y directorios para nuestro proyecto. La estructura sería la siguiente:</p>
<ul>
<li><b>app:</b>Acá se almacenará los componentes de nuestra aplicación: vistas y &#8216;helpers&#8217;, controladores y modelos.</li>
<li><b>config:</b>Contiene la configuración de nuestra aplicación: configuración de la base de datos (database.yml) , estructura del entorno de Rails (environment.rb) y el enrutador de peticiones web (routes.rb).</li>
<li><b>public:</b>Esto es parecido al directorio public de un servidor web. Contiene los archivos JavaScript, images, hojas de estilo y HTML.</li>
<li><b>script:</b>Este directorio contiene scripts que inician y administran las diversas herramientas que puedes usar en Rails. Ejemplo: estan los scripts que generan código (generate) e inician en servidor web (server).</li>
</ul>
<p><b>Servidor Web:</b><br />
RoR cuenta con su propio servidor para desarrollo, el cuál nos permite visualizar nuestro proyecto, para correrlo debemos de realizar lo siguiente:</p>
<pre>
$ ruby script/server
</pre>
<p>Ahora abrimos un navegador y tecleamos <b>http://localhost:3000</b> Y nos aparecerá la pantalla principal de RoR:<br />
<center><br />
<img src="http://upload.wikimedia.org/wikipedia/commons/3/36/Rails_default_index.png" width="350" height="300"></center></p>
<p><center><object width="425" height="344"><param name="movie" value="http://www.youtube.com/v/n1jZ_6YBHw4&#038;hl=en&#038;fs=1"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/n1jZ_6YBHw4&#038;hl=en&#038;fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"></embed></object></center></p>
]]></content:encoded>
			<wfw:commentRss>http://antoniomtz.org/2008/11/ruby-on-rails-ror/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Comenzando con Ruby</title>
		<link>http://antoniomtz.org/2007/12/comenzando-con-ruby/</link>
		<comments>http://antoniomtz.org/2007/12/comenzando-con-ruby/#comments</comments>
		<pubDate>Fri, 21 Dec 2007 02:48:27 +0000</pubDate>
		<dc:creator>antoniomtz</dc:creator>
				<category><![CDATA[Programación]]></category>
		<category><![CDATA[Ruby]]></category>

		<guid isPermaLink="false">http://localhost/wordpress2/?p=29</guid>
		<description><![CDATA[Pues he decidido echarme un clavado en Ruby, mi primer post de ruby será sobre la instalación y módulo para que apache lo pueda interpretar. Primeramente instalamos los paquetes necesarios: # aptitude install ruby libapache2-mod-ruby eruby rubygems Nota: Por alguna extraña razón, el paquete libapache2-mod-ruby no se encuentra para Debian/lenny, no lo tengo en mis [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://farm3.static.flickr.com/2135/2125570699_c9c0caaa6b_o.gif" width="331" height="119" alt="logo" /><br />
Pues he decidido echarme un clavado en <a href="http://www.ruby-lang.org/es/">Ruby</a>, mi primer post de ruby será sobre la instalación y módulo para que apache lo pueda interpretar.</p>
<p>Primeramente instalamos los paquetes necesarios:</p>
<pre>
# aptitude install ruby libapache2-mod-ruby eruby rubygems
</pre>
<p>Nota: Por alguna extraña razón, el paquete <b>libapache2-mod-ruby</b> no se encuentra para Debian/lenny, no lo tengo en mis repositorios, y buscando por la red, me encontre que solamente se encuentra para etch y sid. La instalación la realice instalando cada dependecia y despues el libapache2-mod-ruby con dpkg. <a href="http://packages.debian.org/sid/libapache2-mod-ruby">Aquí</a> la página del paquete con sus dependencias.</p>
<p>Una vez instalado los paquetes, hay que configurar apache, para ello editamos el archivo apache.conf:</p>
<pre>
# gedit /etc/apache2/apache2.conf
</pre>
<p>Y agregamos en cualquier parte lo siguiente:</p>
<pre>
AddType application/x-httpd-eruby .rhtml
Action application/x-httpd-eruby /cgi-bin/eruby
</pre>
<p>Para que apache interprete el comanda <b>Action</b> es necesario hace un enlace:</p>
<pre>
# cd /etc/apache2/mods-enabled
# ln -s /etc/apache2/mods-available/actions.load actions.load
</pre>
<p>Ahora linkeamos el interprete eruby:</p>
<pre>
# cd /usr/lib/cgi-bin
# ln -s /usr/bin/eruby eruby
</pre>
<p>Y reseteamos apache:</p>
<pre>
# /etc/init.d/apache2 force-reload
# /etc/init.d/apache2 restart
</pre>
<p>Ahora si, ya podemos crear archivos .rb ó .rhtml, nuestra primera prueba sería crear un archivo llamado holamundo.rhtml y le agregamos lo siguiente:</p>
<pre>
*html*
<% print "hola mundo!" %>
*html*
</pre>
<p>*Agregar < ></p>
<p>Podemos crear también un script en ruby, este lo llamaremos holamundo.rb :</p>
<pre>
#!/usr/bin/env ruby
print "Hola mundo! \n"
</pre>
<p>Este lo corremos desde la consola con:</p>
<pre>
$ ruby holamundo.rb
</pre>
<p>En el siguiente post veremos algo de <a href="http://www.rubyonrails.org/">Ruby On Rails</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://antoniomtz.org/2007/12/comenzando-con-ruby/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

