<?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>docecosas.com &#187; ruby</title>
	<atom:link href="http://docecosas.com/tag/ruby/feed" rel="self" type="application/rss+xml" />
	<link>http://docecosas.com</link>
	<description>El sitio personal de Pablo Martínez Schroder</description>
	<lastBuildDate>Thu, 02 Feb 2012 14:34:09 +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>Iterando por enumerables en Ruby</title>
		<link>http://docecosas.com/blog/iterando-por-enumrables-en-ruby.html</link>
		<comments>http://docecosas.com/blog/iterando-por-enumrables-en-ruby.html#comments</comments>
		<pubDate>Tue, 15 Jul 2008 15:11:24 +0000</pubDate>
		<dc:creator>Pablo Martínez Schroder</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[ruby]]></category>
		<category><![CDATA[truco]]></category>

		<guid isPermaLink="false">http://docecosas.com/?p=844</guid>
		<description><![CDATA[Hoy estaba haciendo unas cosas con una serie de listas de listas que contienen listas y me estaba encontrando con algún pequeño follón y he descubierto algo que no será]]></description>
			<content:encoded><![CDATA[<p>Hoy estaba haciendo unas cosas con una serie de listas de listas que contienen listas y me estaba encontrando con algún pequeño follón y he descubierto algo que no será para tirar cohetes pero me ha venido bien.</p>
<p><code><br />
[ ['Triangulos', 1], ['Circulos', 2],['Cuadrados', 3] ].each { |fig,count| p "#{fig} aparece #{count} veces@}<br />
</code></p>
<p>No es gran cosa, pero el poder usar algo como <tt>|fig, count|</tt> en vez de <tt>|a|</tt> y tener que recurrir a <tt>a[0]</tt> y <tt>a[1]</tt>, y aunque en este ridículo ejemplo quizás podría usarse un Hash en lugar del los Array como tuplas en mi caso sí que me ha ayudado a hacer un poquito más legible en código. No es gran cosa, pero algo ayuda.</p>
]]></content:encoded>
			<wfw:commentRss>http://docecosas.com/blog/iterando-por-enumrables-en-ruby.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Pruebas en Ruby/Rails</title>
		<link>http://docecosas.com/blog/pruebas-en-rubyrails.html</link>
		<comments>http://docecosas.com/blog/pruebas-en-rubyrails.html#comments</comments>
		<pubDate>Tue, 24 Jun 2008 14:08:05 +0000</pubDate>
		<dc:creator>Pablo Martínez Schroder</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[desarrollo]]></category>
		<category><![CDATA[rails]]></category>
		<category><![CDATA[ruby]]></category>

		<guid isPermaLink="false">http://docecosas.com/blog/pruebas-en-rubyrails</guid>
		<description><![CDATA[Seguimos peleando intentando dar con la mejor manera para hacer pruebas, pero por ahora parece que el ganador está siendo la combinación de RSpec con rcov que te permite medir]]></description>
			<content:encoded><![CDATA[<p>Seguimos peleando intentando dar con la mejor manera para hacer pruebas, pero por ahora parece que el ganador está siendo la combinación de <a href="http://rspec.info/">RSpec</a> con <a href="http://eigenclass.org/hiki.rb?rcov">rcov</a> que te permite medir el <a href="http://en.wikipedia.org/wiki/Code_coverage" lang="en><em>code coverage</em></a> de las pruebas que se realizan y que se integra de forma natural con rspec (<tt>rake spec:rcov</tt> genera el informe tras las pruebas).</p>
<p>Y para no <a href="http://docecosas.com/blog/datos-para-testing-en-rails">depender de los fixtures en Rails</a> estamos utilizando <a href="http://replacefixtures.rubyforge.org/">FixtureReplacement2</a>, aunque por ahora no tengo claro cuál sería la mejor opción pero es un buen principio y no sería demasiado complicado cambiar las pruebas a otra librería u otra metodología.</p>
<p>Cuando tenga más rodado todo espero poder hablar más extensamente sobre ello, pero si alguien quiere decir algo puede animarse y contar sus experiencias</p>
]]></content:encoded>
			<wfw:commentRss>http://docecosas.com/blog/pruebas-en-rubyrails.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>DataMapper en Ruby</title>
		<link>http://docecosas.com/blog/datamapper-en-ruby.html</link>
		<comments>http://docecosas.com/blog/datamapper-en-ruby.html#comments</comments>
		<pubDate>Mon, 02 Jun 2008 20:06:49 +0000</pubDate>
		<dc:creator>Pablo Martínez Schroder</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[programación]]></category>
		<category><![CDATA[rails]]></category>
		<category><![CDATA[ruby]]></category>

		<guid isPermaLink="false">http://docecosas.com/?p=577</guid>
		<description><![CDATA[De un tiempo para acá estoy teniendo en cuenta DataMapper, un ORM para Ruby que tiene similitudes con Active Record pero se nota que es una librería posterior por muchos]]></description>
			<content:encoded><![CDATA[<p>De un tiempo para acá estoy teniendo en cuenta <a href="http://datamapper.org/">DataMapper</a>, un ORM para Ruby que tiene similitudes con <a href="http://wiki.rubyonrails.org/rails/pages/ActiveRecord">Active Record</a> pero se nota que es una librería posterior por muchos detalles. De <a href="http://datamapper.org/why.html">las cosas interesantes que puede hacer</a> hay algunas muy dignas de tener en cuenta.</p>
<ul>
<li>Las actualizaciones parciales, que ya se encuentran disponibles en la nueva versión de Active Record en Rails 2.1</li>
<li>Actúa contra la base de datos con inteligencia, minimizando en lo posible el número de accesos a las tablas.</li>
<li>Las búsquedas son totalmente en Ruby, con lo que no hay que hacer extraños inventos para búsquedas complejas (en ActiveRecord hay que tocar el SQL para unir varias condiciones).</li>
<li>Es explícito. Al definir la clase también definimos los campos y el tipado de éstos. En ActiveRecord a veces me siento un poco desorientado ya que las propiedades de la clase se definen al conectar con la base de datos, en DataMapper se definen explícitamente en la clase.</li>
<li>Acceso directo. Si tenemos el modelo Post podemos hacer <tt>Post[3]</tt> en lugar de <tt>Post.find(3)</tt> y otras muchas <a href="http://datamapper.org/docs/find.html">más formas de encontrar lo que buscamos</a>.</li>
<li>Paranoia. DataMapper incluye de serie el borrado lógico al definir una propiedad como <tt> property :deleted_at, ParanoidDateTime</tt>. La realidad es que casi siempre que borramos sólo queremos marcar como borrados, y que el ORM de serie incluya esta funcionalidad nos facilita mucho el trabajo. Con ActiveRecord puede conseguirse, pero no es lo mismo</li>
</ul>
<p>No es oro todo lo que reluce y DataMapper todavía no está completo del todo (siguen trabajando en las relaciones entre objetos y algunas cosas más) pero la verdad es que para proyectos Ruby que no sean Rails puede ser una interesante opción, sobre todo si estamos <a href="http://rorblog.techcfl.com/2008/02/01/merborial-getting-started-with-merb-and-datamapper/">probando algo como Merb con DataMapper</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://docecosas.com/blog/datamapper-en-ruby.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

