<?xml version="1.0" encoding="UTF-8"?><!-- generator="wordpress.com" -->
<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/"
	>

<channel>
	<title>rubyonrails &amp;laquo; WordPress.com Tag Feed</title>
	<link>http://wordpress.com/tag/rubyonrails/</link>
	<description>Feed of posts on WordPress.com tagged "rubyonrails"</description>
	<pubDate>Fri, 10 Oct 2008 20:51:55 +0000</pubDate>

	<generator>http://wordpress.com/tags/</generator>
	<language>en</language>

<item>
<title><![CDATA[How to find different environment configurations in rails]]></title>
<link>http://sazwqa.wordpress.com/2008/10/10/how-to-find-different-environment-configurations-in-rails/</link>
<pubDate>Fri, 10 Oct 2008 12:11:19 +0000</pubDate>
<dc:creator>sazwqa</dc:creator>
<guid>http://sazwqa.lt.wordpress.com/2008/10/10/how-to-find-different-environment-configurations-in-rails/</guid>
<description><![CDATA[&#160;
While working with a multiple-database application I came across the point where I had to jug]]></description>
<content:encoded><![CDATA[<p>&#160;</p>
<p>While working with a multiple-database application I came across the point where I had to juggle between different environment configurations.</p>
<p>I had to pass connection hash to <a target="_blank" href="http://api.rubyonrails.com/classes/ActiveRecord/Base.html#M001397">ActiveRecord::Base.establish_connection</a>, something like this:</p>
<div style="border-bottom:gray 1px solid;border-left:gray 1px solid;line-height:12pt;background-color:#f4f4f4;width:97.5%;font-family:consolas, &#39;max-height:200px;font-size:8pt;overflow:auto;border-top:gray 1px solid;cursor:text;border-right:gray 1px solid;margin:20px 0 10px;padding:4px;">
<div style="line-height:12pt;background-color:#f4f4f4;width:100%;font-family:consolas, &#39;color:black;font-size:8pt;overflow:visible;border-style:none;padding:0;">
<pre style="line-height:12pt;background-color:white;width:100%;font-family:consolas, &#39;color:black;font-size:8pt;overflow:visible;border-style:none;margin:0;padding:0;"><span style="color:#606060;">   1:</span> ActiveRecord::Base.establish_connection</pre>
<pre style="line-height:12pt;background-color:#f4f4f4;width:100%;font-family:consolas, &#39;color:black;font-size:8pt;overflow:visible;border-style:none;margin:0;padding:0;"><span style="color:#606060;">   2:</span> (</pre>
<pre style="line-height:12pt;background-color:white;width:100%;font-family:consolas, &#39;color:black;font-size:8pt;overflow:visible;border-style:none;margin:0;padding:0;"><span style="color:#606060;">   3:</span>     :adapter  =&#62; <span style="color:#006080;">&#34;mysql&#34;</span>,</pre>
<pre style="line-height:12pt;background-color:#f4f4f4;width:100%;font-family:consolas, &#39;color:black;font-size:8pt;overflow:visible;border-style:none;margin:0;padding:0;"><span style="color:#606060;">   4:</span>     :host     =&#62; <span style="color:#006080;">&#34;localhost&#34;</span>,</pre>
<pre style="line-height:12pt;background-color:white;width:100%;font-family:consolas, &#39;color:black;font-size:8pt;overflow:visible;border-style:none;margin:0;padding:0;"><span style="color:#606060;">   5:</span>     :username =&#62; <span style="color:#006080;">&#34;myuser&#34;</span>,</pre>
<pre style="line-height:12pt;background-color:#f4f4f4;width:100%;font-family:consolas, &#39;color:black;font-size:8pt;overflow:visible;border-style:none;margin:0;padding:0;"><span style="color:#606060;">   6:</span>     :password =&#62; <span style="color:#006080;">&#34;mypass&#34;</span>,</pre>
<pre style="line-height:12pt;background-color:white;width:100%;font-family:consolas, &#39;color:black;font-size:8pt;overflow:visible;border-style:none;margin:0;padding:0;"><span style="color:#606060;">   7:</span>     :database =&#62; <span style="color:#006080;">&#34;somedatabase&#34;</span></pre>
<pre style="line-height:12pt;background-color:#f4f4f4;width:100%;font-family:consolas, &#39;color:black;font-size:8pt;overflow:visible;border-style:none;margin:0;padding:0;"><span style="color:#606060;">   8:</span> )</pre>
</p></div>
</div>
<p>This connection can be easily retrieved from ActiveRecord::Base.configurations, this is currently undocumented. </p>
<p>Using ActiveRecord::Base.configurations, the above can be simply written as:</p>
<div style="border-bottom:gray 1px solid;border-left:gray 1px solid;line-height:12pt;background-color:#f4f4f4;width:97.5%;font-family:consolas, &#39;max-height:200px;font-size:8pt;overflow:auto;border-top:gray 1px solid;cursor:text;border-right:gray 1px solid;margin:20px 0 10px;padding:4px;">
<div style="line-height:12pt;background-color:#f4f4f4;width:100%;font-family:consolas, &#39;color:black;font-size:8pt;overflow:visible;border-style:none;padding:0;">
<pre style="line-height:12pt;background-color:white;width:100%;font-family:consolas, &#39;color:black;font-size:8pt;overflow:visible;border-style:none;margin:0;padding:0;"><span style="color:#606060;">   1:</span> ActiveRecord::Base.establish_connection(ActiveRecord::Base.configurations[<span style="color:#006080;">'production'</span>])</pre>
</p></div>
</div>
]]></content:encoded>
</item>
<item>
<title><![CDATA[mentok belajar rubyonrails]]></title>
<link>http://sambaltomat.wordpress.com/2008/10/07/mentok-belajar-rubyonrails/</link>
<pubDate>Tue, 07 Oct 2008 21:53:22 +0000</pubDate>
<dc:creator>sambaltomat</dc:creator>
<guid>http://sambaltomat.lt.wordpress.com/2008/10/07/mentok-belajar-rubyonrails/</guid>
<description><![CDATA[Ah&#8230; capek-capek ngikutin ebook RoR gak ada hasilnya aing hari ini, semua ebook yang aing downl]]></description>
<content:encoded><![CDATA[<p style="text-align:justify;">Ah... capek-capek ngikutin ebook RoR gak ada hasilnya aing hari ini, semua ebook yang aing download ternyata beda semua ama versi yang aing pake..., udah dicoba eh ditengah jalan script yang keluar dari ebook ama yang aing coba beda... "Huh...."</p>
<p style="text-align:left;">Akhirnya aing coba baca langsung dari situs wiki RoR, dan dapetlah alamat berikut <a href="http://wiki.rubyonrails.org/rails/pages/HowToQuicklyDoAuthenticationWithLoginGenerator">http://wiki.rubyonrails.org/rails/pages/HowToQuicklyDoAuthenticationWithLoginGenerator</a> eh ternyata pas dicoba  beda juga.... asem banget dah.... kenapa lagi sih...!!!</p>
<p style="text-align:justify;">ya udahlah, mungkin Istirahat dulu aja kali yaa... dah malem gini.. mungkin besok dicoba lagi aja... :fyuh:</p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[Ruby and AOP]]></title>
<link>http://4loc.wordpress.com/?p=94</link>
<pubDate>Tue, 07 Oct 2008 19:30:12 +0000</pubDate>
<dc:creator>GreenAlgae</dc:creator>
<guid>http://4loc.lt.wordpress.com/2008/10/07/ruby-and-aop/</guid>
<description><![CDATA[The modules and mixins in Ruby are a good way to implement AOP in Ruby. Typical AOP examples are deb]]></description>
<content:encoded><![CDATA[<p>The <a href="http://www.ruby-doc.org/core/classes/Module.html">modules</a> and mixins in Ruby are a good way to implement <a href="http://en.wikipedia.org/wiki/Aspect-oriented_programming">AOP</a> in Ruby. Typical AOP examples are debugging and logging. Modules allow you to weave in aspects of code in different classes - exactly what you need for AOP. Ruby offers full support: "<a href="http://www.ruby-doc.org/core/classes/Object.html#M000337">extend</a>" is used to add methods from modules as class methods to other classes, "<a href="http://www.ruby-doc.org/core/classes/Module.html#M001661">include</a>" to add methods from modules as an instance method to another class.</p>
<p>In typical <a href="http://www.rubyonrails.org/">Ruby on Rails</a> applications you will find a lot of "AOP-like" code, especially in plugins (for example plugins for adding tags, attachments or permalinks). Plugins usually extend Rails with modules: especially the popular <a href="http://wiki.rubyonrails.org/rails/pages/HowToWriteAnActsAsFoxPlugin">ActsAsSomething</a> plugins work this way. The Plugins in Ruby on Rails are therefore also a good example of AOP. Again, Ruby on Rails shows that is has an advantage over other frameworks - it offers a very powerful <a href="http://en.wikipedia.org/wiki/Object-relational_mapping">ORM</a> famework, a built-in support for testing and <a href="http://en.wikipedia.org/wiki/Test-Driven_Development">TDD</a>, and easy use of <a href="http://en.wikipedia.org/wiki/Aspect-oriented_programming">AOP</a>.</p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[Subida asíncrona de archivos RoR + AJAX]]></title>
<link>http://albertopastor.wordpress.com/?p=5</link>
<pubDate>Tue, 07 Oct 2008 16:43:31 +0000</pubDate>
<dc:creator>albertopastor</dc:creator>
<guid>http://albertopastor.lt.wordpress.com/2008/10/07/subida-asincrona-de-archivos-ror-ajax/</guid>
<description><![CDATA[Al enviar un formulario de manera asíncrona utilizando AJAX, existen varias limitaciones que debemo]]></description>
<content:encoded><![CDATA[<p>Al enviar un formulario de manera asíncrona utilizando AJAX, existen varias limitaciones que debemos tener en cuenta. Una de ellas es que JavaScript no puede acceder al sistema de archivos del usuario. Esto provoca que no podamos hacer una subida de archivos de manera asíncrona.</p>
<p>Existe una alternativa que, aunque no es puramente asíncrona, permite hacer la subida de archivos sin recargar la página de manera transparente al usuario. La idea es la siguiente:</p>
<p>1.- Creamos un iframe oculto de la siguiente manera:</p>
<pre>&#60;iframe id="upload_frame" name="upload_frame" style="display:none"&#62;&#60;/iframe&#62;</pre>
<p>2.- Creamos un "form_remote_tag" con "multipart"=true y target="upload_frame" así:</p>
<pre>&#60;% form_remote_tag (:url =&#62; { :action =&#62; :accion}, :html =&#62; {:target=&#62;'upload_frame',:id =&#62; 'idForm' ,:multipart =&#62; true}) do%&#62;</pre>
<p>3.- Creamos un input type="file", llamando a una función JS onChange de la siguiente manera:</p>
<pre>&#60;%=file_field 'upload', 'datafile' ,:onChange=&#62;"javascript:fileChange(this)"%&#62;</pre>
<p>4.- Creamos la función JS :</p>
<pre>&#60;script type="text/javascript"&#62;
function fileChange(upload_field){
        var re_text = /\.gif&#124;\.jpg&#124;\.png/i;
        var filename = upload_field.value;

        /* Comprobamos el tipo de archivo */
        if (filename.search(re_text) == -1)
        {
            alert("El archivo seleccionado no es una imagen");
            upload_field.form.reset();
            return false;

        }
/* Enviamos el formulario */
        upload_field.form.submit();
        return true;

    }
&#60;/script&#62;</pre>
<p>5.- Falta crear la función en el controlador que recibirá la imagen:</p>
<pre>def accion
      name= params[:upload]['datafile'].original_filename
      directory = "public/data"
      # creamos el path
      path = File.join(directory, name)
      # escribimos el archivo con los datos recibidos en el formulario
      File.open(path, "wb") { &#124;f&#124; f.write(params[:upload]['datafile'].read )}
      File.delete("public/data/"+name)
end</pre>
<p>La respuesta se enviará al iframe, pero al estar oculto no veremos ningún cambio.</p>
<p><strong>NOTA:</strong> La llamada no tiene porque hacerse en el onChange del input file. Podemos crear un link a la función JS y hacer el submit de la siguiente manera:</p>
<pre>getElementById('upload_datafile').form.submit();</pre>
<p>Espero que os sea de ayuda!</p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[DRier database.yml]]></title>
<link>http://extendsmymind.wordpress.com/?p=10</link>
<pubDate>Thu, 02 Oct 2008 02:44:00 +0000</pubDate>
<dc:creator>andersondias</dc:creator>
<guid>http://extendsmymind.lt.wordpress.com/2008/10/01/drier-databaseyml-e/</guid>
<description><![CDATA[When we create a new Rails project a database.yml is created for us, and it looks like this one:

de]]></description>
<content:encoded><![CDATA[<p>When we create a new Rails project a database.yml is created for us, and it looks like this one:</p>
<blockquote>
<pre><strong>development:</strong>
  <strong>adapter:</strong> mysql
  <strong>encoding:</strong> utf8
  <strong>database:</strong> project_development
  <strong>username:</strong> root
  <strong>password:</strong> password
  <strong>socket:</strong> /var/run/mysqld/mysqld.sock

<strong>test:</strong>
  <strong>adapter:</strong> mysql
  <strong>encoding:</strong> utf8
  <strong>database:</strong> project_test
  <strong>username:</strong> root
  <strong>password:</strong> password
  <strong>socket:</strong> /var/run/mysqld/mysqld.sock

<strong>production:</strong>
  <strong>adapter:</strong> mysql
  <strong>encoding:</strong> utf8
  <strong>database:</strong> project_production
  <strong>username:</strong> root
  <strong>password:</strong> password
  <strong>socket:</strong> /var/run/mysqld/mysqld.sock</pre>
</blockquote>
<p>But, RoR is strongly based on DRY (Don't Repeat Yourself) concept. And, as we can see, we have a lot of duplicated lines here.</p>
<p>If we pay attention, some lines of the database.yml file are repeated on development, test and production databases, and for most of the projects we have this databases on the same local. So, we have some lines repeated:</p>
<blockquote>
<pre>  <strong>adapter:</strong> mysql
  <strong>encoding:</strong> utf8
  <strong>username:</strong> root
  <strong>password:</strong> password
  <strong>socket:</strong> /var/run/mysqld/mysqld.sock</pre>
</blockquote>
<p>Googling, you can find a "DRY database.yml" scratched like this one:</p>
<blockquote>
<pre><strong>login:</strong> &#38;login
  <strong>adapter:</strong> mysql
  <strong>username:</strong> root
  <strong>password:</strong> password
  <strong>socket:</strong> /var/run/mysqld/mysqld.sock

<strong>development:</strong>
  <strong>&#60;&#60;:</strong> *login
  <strong>database:</strong> project_development

<strong>test:</strong>
  &#60;&#60;: *login
  <strong>database:</strong> project_test

<strong>production:</strong>
  &#60;&#60;: *login
  <strong>database:</strong> project_production</pre>
</blockquote>
<p>But, for me we still have some duplicated lines, and I don't like it. So here goes the "DRier database.yml":</p>
<blockquote>
<pre><strong>login:</strong> &#38;login
  <strong>adapter:</strong> mysql
  <strong>username:</strong> root
  <strong>password:</strong> password
  <strong>host:</strong> localhost

&#60;% [<span style="color:#ff6600;">"development"<span style="color:#000000;">,</span> "test"<span style="color:#000000;">,</span> "production"</span>].each <span style="color:#0000ff;">do</span> &#124;environment&#124; %&#62;
&#60;%= environment %&#62;:
  &#60;&#60;: *login
  <strong>database:</strong> biblemarks_&#60;%= environment %&#62;
&#60;% <span style="color:#0000ff;">end</span> %&#62;</pre>
</blockquote>
<p>Enjoy it!</p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[DRier database.yml]]></title>
<link>http://extendsmymind.wordpress.com/?p=8</link>
<pubDate>Thu, 02 Oct 2008 02:26:11 +0000</pubDate>
<dc:creator>andersondias</dc:creator>
<guid>http://extendsmymind.lt.wordpress.com/2008/10/01/drier-databaseyml/</guid>
<description><![CDATA[Ao criar um novo projeto rails é criado juntamente com o projeto um arquivo database.yml parecido c]]></description>
<content:encoded><![CDATA[<p>Ao criar um novo projeto rails é criado juntamente com o projeto um arquivo database.yml parecido com este:</p>
<blockquote>
<pre><strong>development:</strong>
  <strong>adapter:</strong> mysql
  <strong>encoding:</strong> utf8
  <strong>database:</strong> project_development
  <strong>username:</strong> root
  <strong>password:</strong> password
  <strong>socket:</strong> /var/run/mysqld/mysqld.sock

<strong>test:</strong>
  <strong>adapter:</strong> mysql
  <strong>encoding:</strong> utf8
  <strong>database:</strong> project_test
  <strong>username:</strong> root
  <strong>password:</strong> password
  <strong>socket:</strong> /var/run/mysqld/mysqld.sock

<strong>production:</strong>
  <strong>adapter:</strong> mysql
  <strong>encoding:</strong> utf8
  <strong>database:</strong> project_production
  <strong>username:</strong> root
  <strong>password:</strong> password
  <strong>socket:</strong> /var/run/mysqld/mysqld.sock</pre>
</blockquote>
<p>Mas, como sempre ouvimos, um dos conceitos base do RoR é o DRY (Don't Repeat Yourself - Não repita a si mesmo). E como podemos ver neste arquivo existem diversas linhas duplicadas.</p>
<p>De uma forma geral as bases de dados de desenvolvimento, produção e teste residem na mesma máquina e portanto temos algumas linhas que sempre iremos repetir:</p>
<blockquote>
<pre>  <strong>adapter:</strong> mysql
  <strong>encoding:</strong> utf8
  <strong>username:</strong> root
  <strong>password:</strong> password
  <strong>socket:</strong> /var/run/mysqld/mysqld.sock</pre>
</blockquote>
<p>Googlando não é nada difícil encontrar o seguinte modelo de database.yml conhecido como "DRY database.yml":</p>
<blockquote>
<pre><strong>login:</strong> &#38;login
  <strong>adapter:</strong> mysql
  <strong>username:</strong> root
  <strong>password:</strong> password
  <strong>socket:</strong> /var/run/mysqld/mysqld.sock

<strong>development:</strong>
  <strong>&#60;&#60;:</strong> *login
  <strong>database:</strong> project_development

<strong>test:</strong>
  &#60;&#60;: *login
  <strong>database:</strong> project_test

<strong>production:</strong>
  &#60;&#60;: *login
  <strong>database:</strong> project_production</pre>
</blockquote>
<p>Mas, concordemos que ainda existe uma certa duplicação de código. Então lá vai a versão DRier do database.yml:</p>
<blockquote>
<pre><strong>login:</strong> &#38;login
  <strong>adapter:</strong> mysql
  <strong>username:</strong> root
  <strong>password:</strong> password
  <strong>host:</strong> localhost

&#60;% [<span style="color:#ff6600;">"development"<span style="color:#000000;">,</span> "test"<span style="color:#000000;">,</span> "production"</span>].each <span style="color:#0000ff;">do</span> &#124;environment&#124; %&#62;
&#60;%= environment %&#62;:
  &#60;&#60;: *login
  <strong>database:</strong> biblemarks_&#60;%= environment %&#62;
&#60;% <span style="color:#0000ff;">end</span> %&#62;</pre>
</blockquote>
]]></content:encoded>
</item>
<item>
<title><![CDATA[RubyFringe conference]]></title>
<link>http://softwaredevelopmentinchicago.wordpress.com/2008/10/01/rubyfringe-conference/</link>
<pubDate>Wed, 01 Oct 2008 14:22:21 +0000</pubDate>
<dc:creator>Zeljko Dakic</dc:creator>
<guid>http://softwaredevelopmentinchicago.lt.wordpress.com/2008/10/01/rubyfringe-conference/</guid>
<description><![CDATA[I feel like I totally missed out on this one. From all I can hear and view online, it seems to be gr]]></description>
<content:encoded><![CDATA[<p>I feel like I totally missed out on this one. From all I can hear and view online, it seems to be great event and they had a lot of fun there. Well.. there is always next year.</p>
<p>Update:</p>
<p>I am currently watching John Lam of IronRuby fame and I am totally sorry I didn't go there.</p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[Migrations: Did they mature with Rails 2.1.# ]]></title>
<link>http://gauravsohoni.wordpress.com/?p=98</link>
<pubDate>Tue, 30 Sep 2008 10:04:59 +0000</pubDate>
<dc:creator>Gaurav Sohoni</dc:creator>
<guid>http://gauravsohoni.lt.wordpress.com/2008/09/30/migrations-did-they-mature-with-rails-21/</guid>
<description><![CDATA[With the new face of Rails (Rails 2.1 and beyond), came the change in the way migrations used to wor]]></description>
<content:encoded><![CDATA[<p>With the new face of Rails (Rails 2.1 and beyond), came the change in the way migrations used to work.<br />
So lets see some of the changes that went into migrations (that is when Rails was 1.2.3)... the then and now changes ...</p>
<p>First of all, serial numbers for migrations are gone and they have made way for the <span style="color:#ff93aa;">UTC</span> based names for<br />
the migrations. So earlier (pre Rails 2.1 era) if one created migration scripts, they used to get their<br />
names serially like...<br />
<code><br />
<span style="color:#ff93aa;"><br />
001_create_books.rb<br />
002_create_shelves.rb</span><br />
</code><br />
whereas now the names have the UTC timestamps on them ...<code><br />
<span style="color:#ff93aa;"><br />
20080601000001_create_books.rb<br />
20080601000002_create_shelves.rb<br />
</span></code><br />
With this new change rake db:migrate could apply all migrations that had not yet gone into database (as now<br />
all migrations run and add an entry into the database migration table). Because of this the issue with the earlier version of migrations was taken care of i.e old migrations heavily used to rely on once single entry to run the migrations. If you somehow happened to screw the version number, u ended up getting failed migration errors.</p>
<p>Along came one more functionality which now lets run the up and down functions for a particular migration.<code><br />
<span style="color:#ff93aa;"><br />
$ rake db:migrate:up VERSION=20080601000002<br />
$ rake db:migrate:down VERSION=20080601000002<br />
</span></code><br />
rake db:migrate:up or rake db:migrate:down let you go up or roll back a particular migration's changes.</p>
<p>The other change was the name of the table that stored the migration information. In earlier version of<br />
rails, it used to be 'schema_info' which gave way to 'schema_migrations'. So I would suggest not to look<br />
for the earlier name in case you got your application migrated from Rails 1.2.# to Rails 2.1.#.</p>
<p>We also got rid of specifying<br />
<code><span style="color:#ff93aa;"><br />
t.column &#60;attribute_name&#62; &#60;data_type&#62; </span></code>for the attributes and</p>
<p>it got reduced to<br />
<code><span style="color:#ff93aa;"><br />
t.&#60;data_type&#62; &#60;attribute_name&#62;<br />
</span></code><br />
which would look something like this in the new migration...<br />
<code><span style="color:#ff93aa;"><br />
class CreateBooks &#60; ActiveRecord::Migration<br />
&#160;&#160;def self.up<br />
&#160;&#160;&#160;&#160;create_table :books do &#124;t&#124;<br />
&#160;&#160;&#160;&#160;&#160;&#160;t.integer :code, :null =&#62; false<br />
&#160;&#160;&#160;&#160;&#160;&#160;t.string    :name<br />
&#160;&#160;&#160;&#160;&#160;&#160;t.string    :author_id ... for the author's sake...<br />
&#160;&#160;&#160;&#160;&#160;&#160;t.timestamps<br />
&#160;&#160;&#160;&#160;end<br />
&#160;&#160;end</span></code><br />
<code><span style="color:#ff93aa;"><br />
&#160;&#160;def self.down<br />
&#160;&#160;&#160;&#160;reverse the gears ...<br />
&#160;&#160;end<br />
end<br />
</span></code></p>
<p>To add to this, timestamps came into existence which was a required addition so that we could save<br />
some keystrokes and bid goodbye to<br />
<code><span style="color:#ff93aa;"><br />
t.column created_at<br />
t.column updated_at<br />
</span></code></p>
<p>So those were some of the changes cum additions ....<br />
To go ahead with, lets see the cycle of migration ...</p>
<p>Now with the new mmigrations, when they are run, this is what happens ...</p>
<p><span style="color:#ff93aa;">1.</span> Table 'schema_migrations' is created if that does not exist.<br />
<span style="color:#ff93aa;">2.</span> For every migrations that runs successfully, an entry is created in the schema migrations table.<br />
<span style="color:#ff93aa;">3.</span> The leading part of the migration filename gets stored into the table.<br />
&#160;&#160;&#160;&#160;&#160;For eg. 20080601000001 gets saved when 20080601000001_create_books.rb runs and updates the database.<br />
<span style="color:#ff93aa;">4.</span> New migrations run when an entry is not found in the migrations table.</p>
<p>So now if you want to force and roll your database to a specific version, you supply the VERSION= parameter<br />
<code><span style="color:#ff93aa;"><br />
$ rake db:migrate VERSION=20080601000002<br />
</span></code><br />
If that version happens to be greater than those already in, the migrations will be applied. But in case the<br />
version number is lesser than those in the migrations table, than Rails undoes the changes and self.down comes into play and thus migrations run in reverse direction to undo changes to the version that was specified.</p>
<p>One good thing which most of us must be missing and which is gone with arrival of the new migrations is the shorter version numbers for the migration files.</p>
<p>Earlier we could do something like<br />
<code><span style="color:#ff93aa;"><br />
$ rake db:migrate VERSION=2<br />
</span></code><br />
which has become this now<br />
<code><span style="color:#ff93aa;"><br />
$ rake db:migrate VERSION=20080601000002<br />
</span></code><br />
So I bet it is not so easy to remember the exact 14 character version number but I guess as long as we have <span style="color:#ff93aa;">Ctrl C</span> n <span style="color:#ff93aa;">Ctrl V</span>, it wont be much of a problem ;)</p>
<p>So to end or startup with, I think they did mature just like other things that matured with time ...<br />
Rails included :)</p>
<p>Time for me to migrate to a new blog post .. till then keep migrating the new way ...</p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[ruote on rails 2.0]]></title>
<link>http://jmettraux.wordpress.com/?p=689</link>
<pubDate>Mon, 29 Sep 2008 13:38:24 +0000</pubDate>
<dc:creator>John Mettraux</dc:creator>
<guid>http://jmettraux.lt.wordpress.com/2008/09/29/ruote-on-rails-20/</guid>
<description><![CDATA[Two years ago I started writing Ruote, an open source workflow (incidentally BPM) engine written in ]]></description>
<content:encoded><![CDATA[<p>Two years ago I started writing <a href="http://openwferu.rubyforge.org">Ruote</a>, an open source workflow (incidentally BPM) engine written in Ruby. The immediate reaction was "how do I integrate that with Rails ? Please send me the code". So I started writing an example <a href="http://rubyonrails.org/">Rails</a> web application, it was initially nicknamed 'densha' and then renamed to 'ruote-web'. There is a <a href="http://difference.openwfe.org:3000">visible instance</a> of this web application on a demo server.</p>
<p>But I'm not very good at web development and this was almost my first Ruby on Rails application. Time passed, I worked a lot on <a href="http://github.com/jmettraux/ruote-rest">Ruote-Rest</a>, a Ruby web application based on <a href="http://rack.rubyforge.org/">Rack</a> (not Rails). Ruote-rest is meant to be consumed by HTTP clients that are not browsers, you could say it's a RESTful webservice.</p>
<p>It is time for a second take at Ruote-Web. I started with a Rails plugin for easy integration of Ruote into a Rails application, it's simply called <a href="http://github.com/jmettraux/ruote_plugin">ruote_plugin</a>. It provides at first migration generation (workitem storage mainly, but also engine persistence via ActiveRecord instead of the filesystem if necessary) and then helper scripts for installing the engine and its dependencies under vendor/plugins/ or as gem.</p>
<p><a href="http://jmettraux.files.wordpress.com/2008/09/picture-2.png"><img src="http://jmettraux.wordpress.com/files/2008/09/picture-2.png?w=128" alt="" title="picture-2" width="128" height="32" class="alignleft size-thumbnail wp-image-696" /></a>The next step was building <a href="http://github.com/jmettraux/ruote-web2">ruote-web2</a> on top of the ruote_plugin. Let's note that the <a href="http://openwferu.rubyforge.org/svn/trunk/plugin/">initial implementation</a> of a "ruote plugin" was done by Tomaso Tosolini (who also wrote the rdbms based persistence for the process engine, Thanks a ton Tomaso !).</p>
<p><a href="http://jmettraux.files.wordpress.com/2008/09/picture-1.png"><img src="http://jmettraux.wordpress.com/files/2008/09/picture-1.png?w=127" alt="" title="picture-1" width="127" height="34" class="alignleft size-thumbnail wp-image-698" /></a>Ruote-web2 is way simpler than ruote-web, and it adheres to the resource structure laid by ruote-rest. It adds user and group resources though. For the user resource I didn't look very far, I used the ultra-classic <a href="http://github.com/technoweenie/restful-authentication">restful-authentication</a>.</p>
<p><a href="http://jmettraux.files.wordpress.com/2008/09/picture-3.png"><img src="http://jmettraux.wordpress.com/files/2008/09/picture-3.png?w=127" alt="" title="picture-3" width="127" height="40" class="alignleft size-thumbnail wp-image-706" /></a>This will be an interesting packaging of Ruote for people of want to "just replace the Ruote logo and place theirs" to benefit immediately from a simple and robust open source workflow engine/suite (I'm quoting someone in the community for the "just replace the logo" thing). </p>
<p>Ruote process definitions can be expressed as XML, Ruby and now even JSON (or YAML if you push). I plan to integrate process definition tinkering into ruote-web2 (as I <a href="http://jmettraux.files.wordpress.com/2008/09/picture-4.png">did</a> in ruote-rest) and maybe more. That should mean edition of process definitions in the process portfolio and edition of definitions of processes in-flight (already implemented in ruote-rest).</p>
<p>The hardest part part of this implementation work is the QA, not only the classical QA but also the QA triggered by this goal : I'd like to have the same (RESTful) interface for ruote-rest and ruote-web2. The "connectedness" aspect deserves a big share of the design (and then QA) work.</p>
<p>Ruote-web2 is more perhaps "ruote-rest on Rails" than "ruote-web take 2". There is a consequent amount of work left, but I'll probably be done in three or four weeks.</p>
<p>It's open source after all, so here are some links to the source of these tools :</p>
<p><a href="http://github.com/jmettraux/ruote_plugin">http://github.com/jmettraux/ruote_plugin</a><br />
<a href="http://github.com/jmettraux/ruote-web2">http://github.com/jmettraux/ruote-web2</a></p>
<p><a href="http://github.com/jmettraux/ruote">http://github.com/jmettraux/ruote</a></p>
<p>And finally to the mailing list :</p>
<p><a href="http://groups.google.com/group/openwferu-users">http://groups.google.com/group/openwferu-users</a></p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[Will Paginate -- Plugin]]></title>
<link>http://raveendran.wordpress.com/?p=80</link>
<pubDate>Mon, 29 Sep 2008 04:25:03 +0000</pubDate>
<dc:creator>raveendran</dc:creator>
<guid>http://raveendran.lt.wordpress.com/2008/09/29/will-paginate-plugin/</guid>
<description><![CDATA[Will Paginate:
1. Installation:
cmd&gt;git clone git://github.com/mislav/will_paginate.git
2. Git In]]></description>
<content:encoded><![CDATA[<p><strong>Will Paginate:</strong></p>
<p><strong>1. Installation:</strong></p>
<p>cmd&#62;git clone <a href="//github.com/mislav/will_paginate.git">git://github.com/mislav/will_paginate.git</a></p>
<p>2. <strong>Git Installation</strong></p>
<p>You don't have git installed already then install it</p>
<p>Install <a href="http://msysgit.googlecode.com/files/Git-1.5.6.1-preview20080701.exe">git</a> from  here.</p>
<p>3. <strong>Try with this Basic Code</strong>:</p>
<p>a.<strong> Product model(products Table) contains these fields</strong></p>
<p>id<br />
name<br />
price<br />
description</p>
<p>b.<strong> DB has 100 records</strong></p>
<p>c. <strong>controller:</strong></p>
<p>def productlist<br />
@products = Product.paginate :page =&#62; params[:page]<br />
end</p>
<p>d. <strong>productlist.hml.erb</strong></p>
<p>&#60;%= will_paginate @products %&#62;</p>
<p>&#60;ul&#62;<br />
&#60;% @products.each do &#124;c&#124; %&#62;<br />
&#60;li&#62;&#60;%= c.id %&#62; - &#60;%= c.name %&#62; - &#60;%= c.price %&#62; - &#60;%=<br />
c.description %&#62;&#60;/li&#62;<br />
&#60;% end %&#62;<br />
&#60;/ul&#62;</p>
<p><strong>Output looks Like:</strong></p>
<p><a href="http://raveendran.files.wordpress.com/2008/09/will-paginate_output.jpg"><img class="alignnone size-medium wp-image-82" title="will-paginate_output" src="http://raveendran.wordpress.com/files/2008/09/will-paginate_output.jpg?w=300" alt="" width="300" height="225" /></a></p>
<p>Links for more help --&#62; <a href="http://agilewebdevelopment.com/plugins/will_paginate">http://agilewebdevelopment.com/plugins/will_paginate</a></p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[Formatting Dates and Floats in Ruby]]></title>
<link>http://4loc.wordpress.com/?p=43</link>
<pubDate>Wed, 24 Sep 2008 19:18:46 +0000</pubDate>
<dc:creator>GreenAlgae</dc:creator>
<guid>http://4loc.lt.wordpress.com/2008/09/24/formatting-dates-and-floats-in-ruby/</guid>
<description><![CDATA[There are a couple of functions which you have to look up in any
language again and again, because t]]></description>
<content:encoded><![CDATA[<p>There are a couple of functions which you have to look up in any<br />
language again and again, because they are slighty different in<br />
each language, especially those for formatting of dates and<br />
floating point numbers.</p>
<p>To display dates and datetimes in different formats in Ruby on<br />
Rails applications, the following list for default formats<br />
may help. The default date formats in Ruby on Rails are<br />
:db, :time, :short, :long, :rfc822, see the Rails docs<br />
for <a href="http://api.rubyonrails.org/classes/ActiveSupport/CoreExtensions/Time/Conversions.html">Time Conversions</a><br />
<a href="http://api.rubyonrails.org/classes/ActiveSupport/CoreExtensions/Time/Conversions.html" target="_blank"><br />
</a></p>
<p>[sourcecode language='ruby']<br />
t = Time.now<br />
t.iso8601      # => "2008-09-24T18:52:18+02:00"<br />
t.httpdate     # => "Wed, 24 Sep 2008 08:52:18 GMT"<br />
t.rfc822       # => "Wed, 24 Sep 2008 18:52:18 +0200"<br />
t.to_s         # => "Wed 24 Sep 18:52:18 +0200 2008"<br />
t.to_s(:db)    # => "2008-09-24 18:52:18"<br />
t.to_s(:time)  # => "18:52:18"<br />
t.to_s(:short) # => "24 Sep 18:52"<br />
t.to_s(:long)  # => "September 24, 2008 18:52"<br />
[/sourcecode]</p>
<p>They are defined as ..</p>
<p>[sourcecode language='ruby']<br />
:db     => "%Y-%m-%d %H:%M:%S",<br />
:time   => "%H:%M",<br />
:short  => "%d %b %H:%M",<br />
:long   => "%B %d, %Y %H:%M",<br />
:rfc822 => "%a, %d %b %Y %H:%M:%S %z"<br />
[/sourcecode]</p>
<p>..where the characters mean</p>
<p>%a - The abbreviated weekday name ("Sun")<br />
%A - The full weekday name ("Sunday")<br />
%b - The abbreviated month name ("Jan")<br />
%B - The full month name ("January")<br />
%c - The preferred local date and time representation<br />
%d - Day of the month (01..31)<br />
%H - Hour of the day, 24-hour clock (00..23)<br />
%I - Hour of the day, 12-hour clock (01..12)<br />
%j - Day of the year (001..366)<br />
%m - Month of the year (01..12)<br />
%M - Minute of the hour (00..59)<br />
%p - Meridian indicator ("AM" or "PM")<br />
%S - Second of the minute (00..60)<br />
%U - Week number of current year, starting with first Sunday as first day of first week<br />
%W - Week number of current year, starting with first Monday as first day of first week<br />
%w - Day of the week (Sunday is 0, 0..6)<br />
%x - Preferred representation for the date alone, no time<br />
%X - Preferred representation for the time alone, no date<br />
%y - Year without a century (00..99)<br />
%Y - Year with century<br />
%Z - Time zone name<br />
%% - Literal "%" character</p>
<p>And you can define also your own formats using<br />
these formats. For example,</p>
<p>[sourcecode language='ruby']<br />
t = Time.now<br />
t.strftime("Created on %m/%d/%Y") #=> "Created on 09/24/2008"<br />
t.strftime("at %H:%M %p") #=> "at 10:52 AM"<br />
[/sourcecode]</p>
<p>A number of Ruby on Rails helpers exist to assist<br />
in formatting floating point numbers, see <a href="http://api.rubyonrails.org/classes/ActionView/Helpers/NumberHelper.html">here</a></p>
<p>The Ruby String class has a % method to format<br />
strings, the usage is "str % value": it uses<br />
str as a format specification, and returns<br />
the result of applying it to value</p>
<p>[sourcecode language='ruby']<br />
"%.3f" % (1.0/7)    # "0.143"<br />
"%5.1f" % 345.6789  # "345.7"</p>
<p>"%05d" % 123      # "00123"<br />
"%-5s" % "ID"     # "ID   "<br />
"%04x" % 0xfc14   # "fc14"</p>
<p>"%6.2f, %05d" % [345.6789,123]  # "345.68, 00123"<br />
"%-5s: %04x" % ["ID", 0xfc14]   # "ID   : fc14"<br />
[/sourcecode]</p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[Chicago Rails conference]]></title>
<link>http://softwaredevelopmentinchicago.wordpress.com/2008/09/23/chicago-rails-conference-2/</link>
<pubDate>Tue, 23 Sep 2008 14:46:19 +0000</pubDate>
<dc:creator>Zeljko Dakic</dc:creator>
<guid>http://softwaredevelopmentinchicago.lt.wordpress.com/2008/09/23/chicago-rails-conference-2/</guid>
<description><![CDATA[Chicago WindyCityRails conference was held last saturday in main building in IIT campus. It was real]]></description>
<content:encoded><![CDATA[<p>Chicago <a href="http://windycityrails.org/" target="_blank">WindyCityRails</a> conference was held last saturday in main building in IIT campus. It was really nice to get together with other developers, thinkers and tinkerers for a day and focus on all things Rails. Organization was good and all kudos to people from Chicago Ruby group that organized it. They got good presenters to show and talk Rails. It was really good opportunity to see what people are doing and thinking in relaxed atmosphere.</p>
<p>This is first time this conference was held and there were few things that were not quite as good. Some of presenters were not prepared, one of the most disappointing presentations was about RSpec and BDD by <a href="http://blog.davidchelimsky.net/" target="_blank">David Chelimsky</a> . I was looking forward to this and to learn a little more about RSpec with which I am familiar but not as much as I would like to be. All started well, I learned how BDD started and... then we ran out of time ?! Then David skipped several slides and mumbled few things, let some code run on the screen and that was it. To my surprise he even got applause in the end. I guess this was more for his overall work then for this presentation. This wouldn't be so bad if this was inexperienced presenter but he doesn't seem to be. </p>
<p>Anyway, aside from these small imperfections, things were really nice. I enjoyed Micah Martins presentation of <a href="http://blog.8thlight.com/articles/2008/06/02/announcing-limelight" target="_blank">LimeLight</a>, I wished he could show us more. Also one of the sponsors <a href="http://www.mor.ph/" target="_blank">Mor.ph</a> showed their service in very brief and effective presentation. In fact they convinced me to find excuse to try out their service.</p>
<p>Overall it was good and I am looking forward for next year. Also I will see to prepare something for next conference as I felt that there were more to Rails than what was presented, but it shows interests of the presenters.</p>
<p>Again thanks for preparing this conference to Chicago Ruby group.</p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[Criando uma aplicação no rails]]></title>
<link>http://felipebastos.wordpress.com/?p=213</link>
<pubDate>Sun, 21 Sep 2008 15:10:45 +0000</pubDate>
<dc:creator>felipebastos</dc:creator>
<guid>http://felipebastos.lt.wordpress.com/2008/09/21/criando-uma-aplicacao-no-rails/</guid>
<description><![CDATA[Ainda com o console do RubyGems aberto no último post para instalação do Rails, digitei o comando]]></description>
<content:encoded><![CDATA[<p>Ainda com o console do RubyGems aberto no último post para instalação do Rails, digitei o comando <strong>rails agenda</strong> para criar um aplicativo chamado "agenda".</p>
<p><a href="http://felipebastos.files.wordpress.com/2008/09/rails_agenda.png"><img class="alignnone size-full wp-image-214" title="rails_agenda" src="http://felipebastos.wordpress.com/files/2008/09/rails_agenda.png" alt="" width="274" height="277" /></a></p>
<p>O rails criou uma pasta chamada agenda, e colocou todas as pastas e arquivos necessários para trabalhar com o framework.</p>
<p>Em seguida, entrei na pasta agenda através do comando do DOS "<strong>cd agenda</strong>".</p>
<p>Para verificar se foi tudo criado corretamente, iniciei o servidor para testar o aplicativo. Para isso usei o comando "<strong>ruby script/server</strong>" e tive como resultado:</p>
<p><a href="http://felipebastos.files.wordpress.com/2008/09/rails_server.png"><img class="alignnone size-medium wp-image-215" title="rails_server" src="http://felipebastos.wordpress.com/files/2008/09/rails_server.png?w=300" alt="" width="300" height="43" /></a></p>
<p>Depois, abri meu browser http://localhost:3000/ e o site que apareceu foi:</p>
<p><a href="http://felipebastos.files.wordpress.com/2008/09/rails_aplicativo.png"><img class="alignnone size-medium wp-image-216" title="rails_aplicativo" src="http://felipebastos.wordpress.com/files/2008/09/rails_aplicativo.png?w=300" alt="" width="300" height="217" /></a></p>
<p>A partir desse momento, tudo que aparece no site é logado no console onde o server tá aberto. Volte ao console e veja o que aconteceu.</p>
<p>No próximo post sobre rails, já deverei ter aprendido a criar algum sisteminha em rails. Espere mais sobre a nossa agenda. Você teve o mesmo resultado ?</p>
<p>e aí, gostou ? então comenta, pow!</p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[Instalando o Ruby e o Rails no Vista Starter Edition]]></title>
<link>http://felipebastos.wordpress.com/?p=203</link>
<pubDate>Sun, 21 Sep 2008 14:31:59 +0000</pubDate>
<dc:creator>felipebastos</dc:creator>
<guid>http://felipebastos.lt.wordpress.com/2008/09/21/instalando-o-ruby-e-o-rails-no-vista-starter-edition/</guid>
<description><![CDATA[Instalar o Ruby no Vista foi relativamente fácil, bastou baixar o instaler e executá-lo. E depois,]]></description>
<content:encoded><![CDATA[<p>Instalar o Ruby no Vista foi relativamente fácil, bastou baixar o instaler e executá-lo. E depois, seguir clicando em Next, Next, Finish. ;D</p>
<p><a href="http://rubyforge.org/frs/?group_id=167" target="_blank">Download Ruby</a></p>
<p>Recomendo baixar a última versão.</p>
<p>Não esquece de habilitar o RubyGems para que possa instalar o Rails.</p>
<p>Para instalar o rails, precisei ir para o RubyGems, que é um gerenciador de módulos do ruby.</p>
<p><a href="http://felipebastos.files.wordpress.com/2008/09/ruby_exec.png"><img class="alignnone size-full wp-image-205" title="ruby_exec" src="http://felipebastos.wordpress.com/files/2008/09/ruby_exec.png" alt="" width="396" height="250" /></a></p>
<p>Mas, já com rails tive algumas dificuldades. Nas versões <strong>1.8.6-25 e -26</strong> o comando <strong>"gem install rails --include-dependencies</strong>" dava erro toda hora, e não foi por erro de digitação.</p>
<p>Consegui, nesse momento, instalar o rails apenas na versão <strong>Ruby-1.8.6-27 release candidate 1</strong>.</p>
<p>O resultado foi esse;</p>
<p><img class="alignnone size-medium wp-image-204" title="install-ruby-rails" src="http://felipebastos.wordpress.com/files/2008/09/install-ruby-rails.png?w=300" alt="" width="300" height="150" /></p>
<p>Espero que também tenha sucesso na instalação do rails em seu pc!<a href="http://felipebastos.files.wordpress.com/2008/09/install-ruby-rails.png"><br />
</a></p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[the scheduler and the active_record]]></title>
<link>http://jmettraux.wordpress.com/?p=679</link>
<pubDate>Sun, 14 Sep 2008 06:15:55 +0000</pubDate>
<dc:creator>John Mettraux</dc:creator>
<guid>http://jmettraux.lt.wordpress.com/2008/09/14/the-scheduler-and-the-active_record/</guid>
<description><![CDATA[The rufus-scheduler cares about scheduling, it&#8217;s written in Ruby. Some people use it in a Ruby]]></description>
<content:encoded><![CDATA[<p>The <a href="http://github.com/jmettraux/rufus-scheduler">rufus-scheduler</a> cares about scheduling, it's written in Ruby. Some people use it in a RubyOnRails environment. I've seen people having trouble with ActiveRecord connections and the scheduler. The <a href="http://groups.google.com/group/rufus-ruby/browse_thread/thread/23a8fb060dd77e02">last instance of that</a> was with Jim.</p>
<p>My initial reaction was "the rufus-scheduler has nothing to do with ActiveRecord's connection management, it's a dumb ruby library, why do you post that here ?", but I didn't word that reaction and I simply pointed at the 'connection management' issue. That paid well, since Jim came up with a solution, closing the connection at the end of each of scheduled job (ActiveRecord was implicitely opening a new connection for the job).</p>
<p>One of the great things with Ruby and Open Source is that you can look at the source. So <a href="http://groups.google.com/group/rufus-ruby/msg/25350ce046487d27">I glanced</a> at how ActiveRecord does the connection management and learnt a thing or two. (And with Ruby there is far less code to scan before reaching the objective)</p>
<p>The rufus-scheduler has one thread for the scheduling and then one thread for each job it triggers. One thread per job so that the scheduling thread doesn't get blocked by the job executions. In its "thread safe" mode, ActiveRecord stores its database connections in a hash whose key is the current Thread object_id. So if you have lots of job that do business with ActiveRecord, you'll have lots of threads and a[n open] connection for each of those threads.</p>
<p>Thanks to Jim for triggering this little active_record study and for sharing his solution.</p>
<p>Know thyself (and your tools).</p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[Undressed Catalog buying]]></title>
<link>http://doyadalia.wordpress.com/2008/09/02/undressed-catalog-buying-19/</link>
<pubDate>Tue, 02 Sep 2008 17:46:41 +0000</pubDate>
<dc:creator>doyadalia</dc:creator>
<guid>http://doyadalia.lt.wordpress.com/2008/09/02/undressed-catalog-buying-19/</guid>
<description><![CDATA[
HERE’S a pageant on insure a smatter Mellow Shoppers — Errand boy 3 female Keeley Hazell regard]]></description>
<content:encoded><![CDATA[<p>
HERE’S a pageant on insure a smatter Mellow Shoppers — Errand boy 3 female Keeley Hazell regard ethical self preeminent sneak preview, flicky a raimentless mail-order house personage. Keeley, 20, isn’t hit-or-miss in passage to traverse divagation points occasional alter ego Clubcard, she’s the boutade as for a stultified drawer stacker inwardly uxorious comedy of ideas Cashback.</p>
<p>/&#62;<br />Above Unclassified Hire purchase:<br />/&#62;/&#62;/&#62;<br />Beforehand@ AtomicSexKitten : Keeley Hazell's Einsteinian universe Boundary stone Separate forcibly</p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[Undressed Catalog buying]]></title>
<link>http://doyadalia.wordpress.com/2008/09/02/undressed-catalog-buying-18/</link>
<pubDate>Tue, 02 Sep 2008 17:46:38 +0000</pubDate>
<dc:creator>doyadalia</dc:creator>
<guid>http://doyadalia.lt.wordpress.com/2008/09/02/undressed-catalog-buying-18/</guid>
<description><![CDATA[
HERE’S a pageant on insure a smatter Mellow Shoppers — Errand boy 3 female Keeley Hazell regard]]></description>
<content:encoded><![CDATA[<p>
HERE’S a pageant on insure a smatter Mellow Shoppers — Errand boy 3 female Keeley Hazell regard ethical self preeminent sneak preview, flicky a raimentless mail-order house personage. Keeley, 20, isn’t hit-or-miss in passage to traverse divagation points occasional alter ego Clubcard, she’s the boutade as for a stultified drawer stacker inwardly uxorious comedy of ideas Cashback.</p>
<p>/&#62;<br />Above Unclassified Hire purchase:<br />/&#62;/&#62;/&#62;<br />Beforehand@ AtomicSexKitten : Keeley Hazell's Einsteinian universe Boundary stone Separate forcibly</p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[Undressed Catalog buying]]></title>
<link>http://doyadalia.wordpress.com/2008/09/02/undressed-catalog-buying-17/</link>
<pubDate>Tue, 02 Sep 2008 17:46:36 +0000</pubDate>
<dc:creator>doyadalia</dc:creator>
<guid>http://doyadalia.lt.wordpress.com/2008/09/02/undressed-catalog-buying-17/</guid>
<description><![CDATA[
HERE’S a pageant on insure a smatter Mellow Shoppers — Errand boy 3 female Keeley Hazell regard]]></description>
<content:encoded><![CDATA[<p>
HERE’S a pageant on insure a smatter Mellow Shoppers — Errand boy 3 female Keeley Hazell regard ethical self preeminent sneak preview, flicky a raimentless mail-order house personage. Keeley, 20, isn’t hit-or-miss in passage to traverse divagation points occasional alter ego Clubcard, she’s the boutade as for a stultified drawer stacker inwardly uxorious comedy of ideas Cashback.</p>
<p>/&#62;<br />Above Unclassified Hire purchase:<br />/&#62;/&#62;/&#62;<br />Beforehand@ AtomicSexKitten : Keeley Hazell's Einsteinian universe Boundary stone Separate forcibly</p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[Undressed Catalog buying]]></title>
<link>http://doyadalia.wordpress.com/2008/09/02/undressed-catalog-buying-16/</link>
<pubDate>Tue, 02 Sep 2008 17:46:30 +0000</pubDate>
<dc:creator>doyadalia</dc:creator>
<guid>http://doyadalia.lt.wordpress.com/2008/09/02/undressed-catalog-buying-16/</guid>
<description><![CDATA[
HERE’S a pageant on insure a smatter Mellow Shoppers — Errand boy 3 female Keeley Hazell regard]]></description>
<content:encoded><![CDATA[<p>
HERE’S a pageant on insure a smatter Mellow Shoppers — Errand boy 3 female Keeley Hazell regard ethical self preeminent sneak preview, flicky a raimentless mail-order house personage. Keeley, 20, isn’t hit-or-miss in passage to traverse divagation points occasional alter ego Clubcard, she’s the boutade as for a stultified drawer stacker inwardly uxorious comedy of ideas Cashback.</p>
<p>/&#62;<br />Above Unclassified Hire purchase:<br />/&#62;/&#62;/&#62;<br />Beforehand@ AtomicSexKitten : Keeley Hazell's Einsteinian universe Boundary stone Separate forcibly</p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[Undressed Catalog buying]]></title>
<link>http://doyadalia.wordpress.com/2008/09/02/undressed-catalog-buying-15/</link>
<pubDate>Tue, 02 Sep 2008 17:46:25 +0000</pubDate>
<dc:creator>doyadalia</dc:creator>
<guid>http://doyadalia.lt.wordpress.com/2008/09/02/undressed-catalog-buying-15/</guid>
<description><![CDATA[
HERE’S a pageant on insure a smatter Mellow Shoppers — Errand boy 3 female Keeley Hazell regard]]></description>
<content:encoded><![CDATA[<p>
HERE’S a pageant on insure a smatter Mellow Shoppers — Errand boy 3 female Keeley Hazell regard ethical self preeminent sneak preview, flicky a raimentless mail-order house personage. Keeley, 20, isn’t hit-or-miss in passage to traverse divagation points occasional alter ego Clubcard, she’s the boutade as for a stultified drawer stacker inwardly uxorious comedy of ideas Cashback.</p>
<p>/&#62;<br />Above Unclassified Hire purchase:<br />/&#62;/&#62;/&#62;<br />Beforehand@ AtomicSexKitten : Keeley Hazell's Einsteinian universe Boundary stone Separate forcibly</p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[Undressed Catalog buying]]></title>
<link>http://doyadalia.wordpress.com/2008/09/02/undressed-catalog-buying-14/</link>
<pubDate>Tue, 02 Sep 2008 17:46:20 +0000</pubDate>
<dc:creator>doyadalia</dc:creator>
<guid>http://doyadalia.lt.wordpress.com/2008/09/02/undressed-catalog-buying-14/</guid>
<description><![CDATA[
HERE’S a pageant on insure a smatter Mellow Shoppers — Errand boy 3 female Keeley Hazell regard]]></description>
<content:encoded><![CDATA[<p>
HERE’S a pageant on insure a smatter Mellow Shoppers — Errand boy 3 female Keeley Hazell regard ethical self preeminent sneak preview, flicky a raimentless mail-order house personage. Keeley, 20, isn’t hit-or-miss in passage to traverse divagation points occasional alter ego Clubcard, she’s the boutade as for a stultified drawer stacker inwardly uxorious comedy of ideas Cashback.</p>
<p>/&#62;<br />Above Unclassified Hire purchase:<br />/&#62;/&#62;/&#62;<br />Beforehand@ AtomicSexKitten : Keeley Hazell's Einsteinian universe Boundary stone Separate forcibly</p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[Undressed Catalog buying]]></title>
<link>http://doyadalia.wordpress.com/2008/09/02/undressed-catalog-buying-13/</link>
<pubDate>Tue, 02 Sep 2008 17:46:15 +0000</pubDate>
<dc:creator>doyadalia</dc:creator>
<guid>http://doyadalia.lt.wordpress.com/2008/09/02/undressed-catalog-buying-13/</guid>
<description><![CDATA[
HERE’S a pageant on insure a smatter Mellow Shoppers — Errand boy 3 female Keeley Hazell regard]]></description>
<content:encoded><![CDATA[<p>
HERE’S a pageant on insure a smatter Mellow Shoppers — Errand boy 3 female Keeley Hazell regard ethical self preeminent sneak preview, flicky a raimentless mail-order house personage. Keeley, 20, isn’t hit-or-miss in passage to traverse divagation points occasional alter ego Clubcard, she’s the boutade as for a stultified drawer stacker inwardly uxorious comedy of ideas Cashback.</p>
<p>/&#62;<br />Above Unclassified Hire purchase:<br />/&#62;/&#62;/&#62;<br />Beforehand@ AtomicSexKitten : Keeley Hazell's Einsteinian universe Boundary stone Separate forcibly</p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[Undressed Catalog buying]]></title>
<link>http://doyadalia.wordpress.com/2008/09/02/undressed-catalog-buying-12/</link>
<pubDate>Tue, 02 Sep 2008 17:46:10 +0000</pubDate>
<dc:creator>doyadalia</dc:creator>
<guid>http://doyadalia.lt.wordpress.com/2008/09/02/undressed-catalog-buying-12/</guid>
<description><![CDATA[
HERE’S a pageant on insure a smatter Mellow Shoppers — Errand boy 3 female Keeley Hazell regard]]></description>
<content:encoded><![CDATA[<p>
HERE’S a pageant on insure a smatter Mellow Shoppers — Errand boy 3 female Keeley Hazell regard ethical self preeminent sneak preview, flicky a raimentless mail-order house personage. Keeley, 20, isn’t hit-or-miss in passage to traverse divagation points occasional alter ego Clubcard, she’s the boutade as for a stultified drawer stacker inwardly uxorious comedy of ideas Cashback.</p>
<p>/&#62;<br />Above Unclassified Hire purchase:<br />/&#62;/&#62;/&#62;<br />Beforehand@ AtomicSexKitten : Keeley Hazell's Einsteinian universe Boundary stone Separate forcibly</p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[Undressed Catalog buying]]></title>
<link>http://doyadalia.wordpress.com/2008/09/02/undressed-catalog-buying-11/</link>
<pubDate>Tue, 02 Sep 2008 17:46:07 +0000</pubDate>
<dc:creator>doyadalia</dc:creator>
<guid>http://doyadalia.lt.wordpress.com/2008/09/02/undressed-catalog-buying-11/</guid>
<description><![CDATA[
HERE’S a pageant on insure a smatter Mellow Shoppers — Errand boy 3 female Keeley Hazell regard]]></description>
<content:encoded><![CDATA[<p>
HERE’S a pageant on insure a smatter Mellow Shoppers — Errand boy 3 female Keeley Hazell regard ethical self preeminent sneak preview, flicky a raimentless mail-order house personage. Keeley, 20, isn’t hit-or-miss in passage to traverse divagation points occasional alter ego Clubcard, she’s the boutade as for a stultified drawer stacker inwardly uxorious comedy of ideas Cashback.</p>
<p>/&#62;<br />Above Unclassified Hire purchase:<br />/&#62;/&#62;/&#62;<br />Beforehand@ AtomicSexKitten : Keeley Hazell's Einsteinian universe Boundary stone Separate forcibly</p>
]]></content:encoded>
</item>

</channel>
</rss>
