<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss 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:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>Rails on the road</title>
	
	<link>http://www.extendi.it/ruby-on-rails</link>
	<description>Risorsa italiana sul Ruby on Rails</description>
	<pubDate>Fri, 13 Nov 2009 15:35:56 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.7</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<geo:lat>43.7666666</geo:lat><geo:long>11.25</geo:long><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" href="http://feeds.feedburner.com/rails-on-the-road" type="application/rss+xml" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com" /><item>
		<title>Rails for PHP developers</title>
		<link>http://feedproxy.google.com/~r/rails-on-the-road/~3/lGIWlebWer4/</link>
		<comments>http://www.extendi.it/ruby-on-rails/index.php/2009/11/13/rails-for-php-developers/#comments</comments>
		<pubDate>Fri, 13 Nov 2009 15:35:56 +0000</pubDate>
		<dc:creator>matte</dc:creator>
		
		<category><![CDATA[Risorse]]></category>

		<guid isPermaLink="false">http://www.extendi.it/ruby-on-rails/?p=970</guid>
		<description><![CDATA[Dovendo effettuare il porting di una parte di codice PHP in Rails ho trovato molto utile questo sito soprattutto come referenza per capire quali funzioni ruby utilizzare.
]]></description>
			<content:encoded><![CDATA[<p>Dovendo effettuare il porting di una parte di codice PHP in Rails ho trovato molto utile <a href="http://railsforphp.com/">questo sito</a> soprattutto come <a href="http://railsforphp.com/reference/">referenza</a> per capire quali funzioni ruby utilizzare.</p>

<p><a href="http://feedads.g.doubleclick.net/~a/-kqe1RCmZIBNQTAcQ75EhNq3MnQ/0/da"><img src="http://feedads.g.doubleclick.net/~a/-kqe1RCmZIBNQTAcQ75EhNq3MnQ/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/-kqe1RCmZIBNQTAcQ75EhNq3MnQ/1/da"><img src="http://feedads.g.doubleclick.net/~a/-kqe1RCmZIBNQTAcQ75EhNq3MnQ/1/di" border="0" ismap="true"></img></a></p><img src="http://feeds.feedburner.com/~r/rails-on-the-road/~4/lGIWlebWer4" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.extendi.it/ruby-on-rails/index.php/2009/11/13/rails-for-php-developers/feed/</wfw:commentRss>
		<feedburner:origLink>http://www.extendi.it/ruby-on-rails/index.php/2009/11/13/rails-for-php-developers/</feedburner:origLink></item>
		<item>
		<title>Ottimizzare le query con EXPLAIN di MySQL</title>
		<link>http://feedproxy.google.com/~r/rails-on-the-road/~3/2DEVXvYQYvY/</link>
		<comments>http://www.extendi.it/ruby-on-rails/index.php/2009/10/13/ottimizzare-le-query-con-explain-di-mysql/#comments</comments>
		<pubDate>Tue, 13 Oct 2009 13:25:12 +0000</pubDate>
		<dc:creator>duccio</dc:creator>
		
		<category><![CDATA[Rails Snippet]]></category>

		<category><![CDATA[Risorse]]></category>

		<category><![CDATA[Tutorial]]></category>

		<guid isPermaLink="false">http://www.extendi.it/ruby-on-rails/?p=945</guid>
		<description><![CDATA[L&#8217;ottimizzazione delle query è sempre un punto cruciale per ogni progetto ed  è sicuramente una parte fondamentale del processo di ottimizzazione di un&#8217;applicazione Web. Non credo di dirvi niente di nuovo ma, considerato che non ne ho mai parlato direttamente,  riporto un piccolo riassunto.

Ip plugin query_analyzer vi consente di avere l&#8217;EXPLAIN delle query [...]]]></description>
			<content:encoded><![CDATA[<p>L&#8217;ottimizzazione delle query è sempre un punto cruciale per ogni progetto ed  è sicuramente una parte fondamentale del processo di ottimizzazione di un&#8217;applicazione Web. Non credo di dirvi niente di nuovo ma, considerato che non ne ho mai parlato direttamente,  riporto un piccolo riassunto.</p>

<p>Ip plugin <a href="http://agilewebdevelopment.com/plugins/query_analyzer">query_analyzer</a> vi consente di avere l&#8217;EXPLAIN delle query direttamente nel log:</p>

<pre class="textmate-source"><span class='linenum'>    1</span> <span class="source source_shell">./script/plugin install http://svn.nfectio.us/plugins/query_analyzer</span></pre>

<p>La sintassi per vedere l&#8217;explain di una query da shell mysql:</p>

<pre class="textmate-source"><span class='linenum'>    1</span> <span class="source source_sql">EXPLAIN [EXTENDED] <span class="keyword keyword_other keyword_other_DML keyword_other_DML_sql">SELECT</span> select_options</span></pre>

<p>L&#8217;explain restituisce informazioni per ogni tabella coinvolta nella query, vediamo un esempio in cui mancano indici:</p>

<p><a href="http://www.extendi.it/ruby-on-rails/wp-content/uploads/2009/10/picture-1.png"><img src="http://www.extendi.it/ruby-on-rails/wp-content/uploads/2009/10/picture-1.png" alt="picture-1" title="picture-1" width="574" height="68" class="aligncenter size-full wp-image-948" /></a></p>

<p>In questo caso il <strong>select_type</strong> è <strong>simple</strong>, non ci sono join, il <strong>type</strong> è ALL cioè cerca su tutte le righe, e nessuna possible_keys. Aggiungendo  un indice al campo <em>action</em> della tabella <em>contents</em> (La query effettuata è Content.find_by_action(&#8221;nome azione&#8221;)) si ottiene  questo risultato:</p>

<p><a href="http://www.extendi.it/ruby-on-rails/wp-content/uploads/2009/10/picture-2.png"><img src="http://www.extendi.it/ruby-on-rails/wp-content/uploads/2009/10/picture-2.png" alt="picture-2" title="picture-2" width="779" height="70" class="aligncenter size-full wp-image-951" /></a></p>

<p>Migliorando di fatto il tempo necessario per eseguire la query, tempo ulteriormente migliorabile usando il caching di Mysql.  </p>

<p>In generale col query_analyzer (<strong>con l&#8217;EXPLAIN di mysql</strong>) potrete trovare i seguenti valori per ogni campo visualizzato:</p>

<h3>Select_type</h3>

<p>E&#8217; il tipo di SELECT:</p>

<ul>
<li><strong>SIMPLE</strong> select semplice senza join o sottoquery</li>
<li><strong>PRIMARY</strong> outermost SELECT</li>
<li><strong>DEPENDENT UNION</strong> seconda o ultima SELECT in una unione</li>
<li><strong>UNION RESULT</strong> risultato di una UNION</li>
<li><strong>SUBQUERY</strong> prima SELECT in una subquery</li>
<li><strong>DEPENDENT SUBQUERY</strong> prima SELECT in un una subquery dipendente da un altra query</li>
<li><strong>DERIVED</strong> subquery nel FROM</li>
<li><strong>UNCACHEABLE SUBQUERY</strong> subquery non cachabile</li>
</ul>

<h3>Table</h3>

<p>E&#8217; la tabella su cui si esegue la query.</p>

<h3>Type</h3>

<p>E&#8217; il tipo di Join e sono in ordine dal migliore al peggiore:</p>

<ul>
 <li><strong>system</strong>: la tabella ha una sola riga è un caso particolare di const</li>
 <li><strong>const</strong>:  la tabella ha al massimo una riga corrispondente, che viene letta all&#8217;inizio della query. Poichè c&#8217;è una sola riga, i valori delle colonne in questa riga sono considerati come costanti da parte dell&#8217;optimizer. Le tabelle const sono molto veloci perché vengono letti solo una volta.</li>
 <li><strong>eq_ref</strong>: viene letta una riga per ogni combinazione di righe delle tabelle precedenti. È usato quando tutte le parti di un indice sono utilizzate dalla join e l&#8217;indice è una PRIMARY KEY o UNIQUE.</li>
<li><strong>ref</strong>: tutte le righe con i corrispondenti valori di indice vengono letti da questa tabella per ogni combinazione di righe delle tabelle precedenti. ref viene utilizzato se la join utilizza solo la parte più a sinistra dell&#8217;indice o se la chiave non è un indice PRIMARY KEY o UNIQUE (in altre parole, se l&#8217;unione non può selezionare una sola riga sulla base del valore della chiave). Va bene quando il set di righe di unione è piccolo.
</li><li><strong>fulltext</strong>: ricerca di tipo fulltext</li>
<li><strong>range</strong>: solo le righe che si trovano in un determinato intervallo vengono recuperate, utilizzando un indice per selezionare le righe. La colonna chiave della riga di output indica che l&#8217;indice viene utilizzato. Il key_len contiene la parte più lunga chiave che è stata utilizzata. La colonna ref è NULL per questo tipo. Viene usata per =, <>, >, >=, < , <=, IS NULL, <=>, BETWEEN, o IN() 
</li><li><strong>index</strong>: è come ALL ma si cerca sull&#8217;indice</li>
<li><strong>ALL</strong>: viene fatta una scansione completa della tabella,  per ogni combinazione di righe delle tabelle precedenti. Questo normalmente non va bene, si risolve mettendo indici.</li>
</ul>

<h3>Possible_keys</h3>

<p>La colonna <strong>possible_keys</strong> indica gli indici che MySQL può scegliere per trovare le righe in questa tabella. </p>

<h3>Key</h3>

<p>La colonna <strong>key</strong> è l&#8217;indice che MySQL ha effettivamente deciso di utilizzare. MySQL, può decidere di utilizzare sia uno degli indici <strong>possible_keys</strong> per cercare le righe, sia la primary key.</p>

<p>E &#8216;possibile che key sia il nome di un indice che non è presente in <strong>possible_keys</strong>. Questo può accadere se nessuno degli indici possible_keys è adatto per la ricerca, ma tutte le colonne selezionate dalla query sono colonne di qualche altro indice. Cioè, l&#8217;indice copre le colonne selezionate, quindi anche se non viene utilizzato per determinare le righe da recuperare, lì la ricerca è comunque più veloce.</p>

<h3>Key_len</h3>

<p>La colonna <strong>key_len</strong> indica la lunghezza della chiave che MySQL ha deciso di utilizzare. La lunghezza è NULL se la colonna <strong>key</strong> dice NULL. Si noti che il valore di key_len consente di determinare quante parti di più chiavi MySQL utilizza effettivamente.</p>

<h3>Ref</h3>

<p>La colonna <strong>ref</strong> mostra quali colonne o costanti sono confrontati con l&#8217;indice per selezionare le righe della tabella.</p>

<h3>Rows</h3>

<p>La colonna righe indica il numero di righe MySQL ritiene che esso deve verificare l&#8217;esecuzione della query.
Per i db innoDB non sempre il numero di righe stimato è quello reale.</p>

<h3>Extra</h3>

<p>Questa colonna contiene ulteriori informazioni su come MySQL risolve la query. Dicimo che se trovat scritto <strong>Using where</strong> e type è <strong>ALL</strong> o <strong>index</strong> c&#8217;è qualche problema sulla vostra query.</p>

<p><a href="http://feedads.g.doubleclick.net/~a/nxAWd2FNBoUWGX--Vd_TA4o4kLU/0/da"><img src="http://feedads.g.doubleclick.net/~a/nxAWd2FNBoUWGX--Vd_TA4o4kLU/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/nxAWd2FNBoUWGX--Vd_TA4o4kLU/1/da"><img src="http://feedads.g.doubleclick.net/~a/nxAWd2FNBoUWGX--Vd_TA4o4kLU/1/di" border="0" ismap="true"></img></a></p><img src="http://feeds.feedburner.com/~r/rails-on-the-road/~4/2DEVXvYQYvY" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.extendi.it/ruby-on-rails/index.php/2009/10/13/ottimizzare-le-query-con-explain-di-mysql/feed/</wfw:commentRss>
		<feedburner:origLink>http://www.extendi.it/ruby-on-rails/index.php/2009/10/13/ottimizzare-le-query-con-explain-di-mysql/</feedburner:origLink></item>
		<item>
		<title>BudgetUp è online!</title>
		<link>http://feedproxy.google.com/~r/rails-on-the-road/~3/AphtOlY_WzY/</link>
		<comments>http://www.extendi.it/ruby-on-rails/index.php/2009/09/21/budgetup-e-online/#comments</comments>
		<pubDate>Mon, 21 Sep 2009 12:46:24 +0000</pubDate>
		<dc:creator>silvio</dc:creator>
		
		<category><![CDATA[Ajax/Web 2.0]]></category>

		<category><![CDATA[Comunicati]]></category>

		<category><![CDATA[Release]]></category>

		<guid isPermaLink="false">http://www.extendi.it/ruby-on-rails/?p=937</guid>
		<description><![CDATA[Siamo molto eccitati nell&#8217;annunciarvi che dopo mesi di duro lavoro BudgetUp è stato lanciato!


BudgetUp ti permette di gestire agilmente spese, guadagni e l&#8217;andamento delle tue finanze.

Abbiamo appena cominciato l&#8217;avventura e ringraziamo in anticipo chiunque voglia darci consigli o riportare errori, aiutandoci così a renderlo un prodotto migliore.
]]></description>
			<content:encoded><![CDATA[<p>Siamo molto eccitati nell&#8217;annunciarvi che dopo mesi di duro lavoro <a title="BudgetUp" href="http://budgetup.com/">BudgetUp</a> è stato lanciato!</p>

<p><a title="BudgetUp" href="http://budgetup.com/"><img class="aligncenter size-medium wp-image-939" title="budgetupit" src="http://www.extendi.it/ruby-on-rails/wp-content/uploads/2009/09/budgetupit-300x226.jpg" alt="budgetupit" width="300" height="226" /></a>
BudgetUp ti permette di gestire agilmente spese, guadagni e l&#8217;andamento delle tue finanze.</p>

<p>Abbiamo appena cominciato l&#8217;avventura e ringraziamo in anticipo chiunque voglia darci consigli o riportare errori, aiutandoci così a renderlo un prodotto migliore.</p>

<p><a href="http://feedads.g.doubleclick.net/~a/_qM5-aaGpAGUmpC62p43Z-xZ9IU/0/da"><img src="http://feedads.g.doubleclick.net/~a/_qM5-aaGpAGUmpC62p43Z-xZ9IU/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/_qM5-aaGpAGUmpC62p43Z-xZ9IU/1/da"><img src="http://feedads.g.doubleclick.net/~a/_qM5-aaGpAGUmpC62p43Z-xZ9IU/1/di" border="0" ismap="true"></img></a></p><img src="http://feeds.feedburner.com/~r/rails-on-the-road/~4/AphtOlY_WzY" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.extendi.it/ruby-on-rails/index.php/2009/09/21/budgetup-e-online/feed/</wfw:commentRss>
		<feedburner:origLink>http://www.extendi.it/ruby-on-rails/index.php/2009/09/21/budgetup-e-online/</feedburner:origLink></item>
		<item>
		<title>Ferret Browser</title>
		<link>http://feedproxy.google.com/~r/rails-on-the-road/~3/_993f0WwK2I/</link>
		<comments>http://www.extendi.it/ruby-on-rails/index.php/2009/09/16/ferret-browser/#comments</comments>
		<pubDate>Wed, 16 Sep 2009 16:30:37 +0000</pubDate>
		<dc:creator>silvio</dc:creator>
		
		<category><![CDATA[Risorse]]></category>

		<category><![CDATA[plugin]]></category>

		<category><![CDATA[ferret]]></category>

		<guid isPermaLink="false">http://www.extendi.it/ruby-on-rails/?p=926</guid>
		<description><![CDATA[Oggi mentre stavo indagando su un problema con il Ferret che non indicizzava un modello, mi sono imbattuto su ferret-browser.



Questa simpatica utility ci consente di navigare nell&#8217;indice del Ferret tramite il browser, di analizzare la struttura e gli attributi dell&#8217;indice, nonché di visualizzare qualche statistica sui termini indicizzati per ogni attributo.

ferret-browser viene installato insieme alla [...]]]></description>
			<content:encoded><![CDATA[<p>Oggi mentre stavo indagando su un problema con il <a title="Ferret" href="http://www.davebalmain.com/" target="_blank">Ferret</a> che non indicizzava un modello, mi sono imbattuto su <a title="Ferret Browser" href="http://www.davebalmain.com/trac/wiki/FerretBrowser" target="_blank">ferret-browser</a>.</p>

<p><img class="alignnone size-medium wp-image-930" title="Ferret Browser" src="http://www.extendi.it/ruby-on-rails/wp-content/uploads/2009/09/immagine-1-300x196.png" alt="Ferret Browser" width="300" height="196" /></p>

<p>Questa simpatica utility ci consente di navigare nell&#8217;indice del Ferret tramite il browser, di analizzare la struttura e gli attributi dell&#8217;indice, nonché di visualizzare qualche statistica sui termini indicizzati per ogni attributo.</p>

<p>ferret-browser viene installato insieme alla gemma del Ferret e si esegue da console, indicando come parametro il path dell&#8217;indice, ad esempio:</p>

<pre class="textmate-source"><span class="text text_plain"><span class="meta meta_paragraph meta_paragraph_text">ferret-browser /Users/silvio/Sites/mio-progetto/index/development/nome-modello</span></span></pre>

<p>In questo modo viene avviato WEBrick ed è sufficiente puntare il browser su http://localhost:3301/</p>

<p><a href="http://feedads.g.doubleclick.net/~a/Qo681cgJ321tDzxxqPSRcBTkcC4/0/da"><img src="http://feedads.g.doubleclick.net/~a/Qo681cgJ321tDzxxqPSRcBTkcC4/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/Qo681cgJ321tDzxxqPSRcBTkcC4/1/da"><img src="http://feedads.g.doubleclick.net/~a/Qo681cgJ321tDzxxqPSRcBTkcC4/1/di" border="0" ismap="true"></img></a></p><img src="http://feeds.feedburner.com/~r/rails-on-the-road/~4/_993f0WwK2I" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.extendi.it/ruby-on-rails/index.php/2009/09/16/ferret-browser/feed/</wfw:commentRss>
		<feedburner:origLink>http://www.extendi.it/ruby-on-rails/index.php/2009/09/16/ferret-browser/</feedburner:origLink></item>
		<item>
		<title>Upgrade a Snow Leopard</title>
		<link>http://feedproxy.google.com/~r/rails-on-the-road/~3/ApmA1WC6KY0/</link>
		<comments>http://www.extendi.it/ruby-on-rails/index.php/2009/09/08/upgrade-a-snow-leopard/#comments</comments>
		<pubDate>Tue, 08 Sep 2009 15:56:05 +0000</pubDate>
		<dc:creator>matte</dc:creator>
		
		<category><![CDATA[Configurazioni]]></category>

		<category><![CDATA[Mac]]></category>

		<guid isPermaLink="false">http://www.extendi.it/ruby-on-rails/?p=906</guid>
		<description><![CDATA[Oggi è arrivato in office Snow Leopard e abbiamo deciso di aggiornare i nostri iMac sperando di non incappare in qualche incompatibilità con i software che utilizziamo. Tutto è filato liscio (non abbiamo dovuto ripristinare backup) anche se ci sono stati alcuni inconvenienti. Per questo vi consiglio (a parte un backup dei file più importanti) [...]]]></description>
			<content:encoded><![CDATA[<p>Oggi è arrivato in office <a href="http://www.apple.com/it/macosx/">Snow Leopard</a> e abbiamo deciso di aggiornare i nostri iMac sperando di non incappare in qualche incompatibilità con i software che utilizziamo. Tutto è filato liscio (non abbiamo dovuto ripristinare backup) anche se ci sono stati alcuni inconvenienti. Per questo vi consiglio (a parte un backup dei file più importanti) di salvare i seguenti file che l&#8217;aggiornamento va a sovrascrivere, nel caso in cui abbiate avuto la necessità di cambiarli:</p>

<p>/etc/hosts<br />
/etc/apache2/httpd.conf</p>

<p>Inoltre se utilizzate <a href="http://www.macports.org/">MacPorts</a> per installare i pacchetti software (tipo ruby, mysql, tomcat) effettuate un backup su file del nome dei pacchetti installati con il comando:</p>

<pre><code>port installed &gt; myports.txt
</code></pre>

<p>Una volta effettuato l&#8217;aggiornamento non è stato più possibile lanciare il comando port, ottenendo il seguente errore:</p>

<pre class="textmate-source"><span class='linenum'>    1</span> <span class="source source_shell">dlopen<span class="meta meta_scope meta_scope_subshell meta_scope_subshell_shell"><span class="punctuation punctuation_definition punctuation_definition_subshell punctuation_definition_subshell_shell">(</span>/opt/<span class="storage storage_modifier storage_modifier_shell">local</span>/share/macports/Tcl/pextlib1.0/Pextlib.dylib, 10<span class="punctuation punctuation_definition punctuation_definition_subshell punctuation_definition_subshell_shell">)</span></span>: no suitable image found.  Did find:
<span class='linenum'>    2</span>   /opt/<span class="storage storage_modifier storage_modifier_shell">local</span>/share/macports/Tcl/pextlib1.0/Pextlib.dylib: mach-o, but wrong architecture
<span class='linenum'>    3</span>     <span class="meta meta_scope meta_scope_while-loop meta_scope_while-loop_shell"><span class="keyword keyword_control keyword_control_shell">while</span> executing
<span class='linenum'>    4</span> <span class="string string_quoted string_quoted_double string_quoted_double_shell"><span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_begin punctuation_definition_string_begin_shell">"</span>load /opt/local/share/macports/Tcl/pextlib1.0/Pextlib.dylib<span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_end punctuation_definition_string_end_shell">"</span></span>
<span class='linenum'>    5</span>     <span class="meta meta_scope meta_scope_subshell meta_scope_subshell_shell"><span class="punctuation punctuation_definition punctuation_definition_subshell punctuation_definition_subshell_shell">(</span><span class="string string_quoted string_quoted_double string_quoted_double_shell"><span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_begin punctuation_definition_string_begin_shell">"</span>package ifneeded Pextlib 1.0<span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_end punctuation_definition_string_end_shell">"</span></span> script<span class="punctuation punctuation_definition punctuation_definition_subshell punctuation_definition_subshell_shell">)</span></span>
<span class='linenum'>    6</span>     invoked from within
<span class='linenum'>    7</span> <span class="string string_quoted string_quoted_double string_quoted_double_shell"><span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_begin punctuation_definition_string_begin_shell">"</span>package require Pextlib 1.0<span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_end punctuation_definition_string_end_shell">"</span></span>
<span class='linenum'>    8</span>     <span class="meta meta_scope meta_scope_subshell meta_scope_subshell_shell"><span class="punctuation punctuation_definition punctuation_definition_subshell punctuation_definition_subshell_shell">(</span>file <span class="string string_quoted string_quoted_double string_quoted_double_shell"><span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_begin punctuation_definition_string_begin_shell">"</span>/opt/local/bin/port<span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_end punctuation_definition_string_end_shell">"</span></span> line 40<span class="punctuation punctuation_definition punctuation_definition_subshell punctuation_definition_subshell_shell">)</span></span></span></span></pre>

<p>Per risolvere il problema su Snow Leopard scaricate ed installate <a href="http://distfiles.macports.org/MacPorts/MacPorts-1.8.0-10.6-SnowLeopard.dmg">http://distfiles.macports.org/MacPorts/MacPorts-1.8.0-10.6-SnowLeopard.dmg</a></p>

<p>Poi aggiornate il repositorio dei pacchetti con il comando</p>

<pre><code>sudo port selfupdate
</code></pre>

<p>Per ricompilare tutti i pacchetti lanciate il comando: </p>

<pre><code>sudo port upgrade --force installed
</code></pre>

<p>per aggiornare solamente quelli più vecchi:</p>

<pre><code>sudo port upgrade outdated
</code></pre>

<p>A questo punto installate XCode dal DVD di Snow Leopard e controllate le gemme da reinstallare a 64 bit con lo script <a href="http://gist.github.com/178178">http://gist.github.com/178178</a>.</p>

<p>Nel caso in cui abbiate dei problemi con la gemma ruby di mysql reinstallatela con il comando:</p>

<pre class="textmate-source"><span class='linenum'>    1</span> <span class="source source_shell">sudo env ARCHFLAGS=<span class="string string_quoted string_quoted_double string_quoted_double_shell"><span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_begin punctuation_definition_string_begin_shell">"</span>-arch x86_64<span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_end punctuation_definition_string_end_shell">"</span></span> gem install mysql -- --with-mysql-config=/opt/<span class="storage storage_modifier storage_modifier_shell">local</span>/lib/mysql5/bin/mysql_config
</span><span class='linenum'>    2</span> </pre>

<p>Se ottenete il seguente errore:</p>

<pre class="textmate-source"><span class='linenum'>    1</span> <span class="source source_shell">dyld: lazy symbol binding failed: Symbol not found: _mysql_init
<span class='linenum'>    2</span>   Referenced from: /Library/Ruby/Gems/1.8/gems/mysql-2.8.1/lib/mysql_api.bundle
<span class='linenum'>    3</span>   Expected <span class="keyword keyword_control keyword_control_shell">in</span>: flat namespace
<span class='linenum'>    4</span> 
<span class='linenum'>    5</span> dyld: Symbol not found: _mysql_init
<span class='linenum'>    6</span>   Referenced from: /Library/Ruby/Gems/1.8/gems/mysql-2.8.1/lib/mysql_api.bundle
<span class='linenum'>    7</span>   Expected <span class="keyword keyword_control keyword_control_shell">in</span>: flat namespace</span></pre>

<p>oppure:</p>

<pre class="textmate-source"><span class='linenum'>    1</span> <span class="source source_shell">Status: 500 Internal Server Error
<span class='linenum'>    2</span> uninitialized constant MysqlCompat::MysqlRes</span></pre>

<p>e avete il mysql installato tramite port, ricompilatelo di nuovo a 64 bit con il comando:</p>

<pre><code>sudo port upgrade mysql5
</code></pre>

<p>Se trovate altre complicazioni segnalatele pure nei commenti, grazie.</p>

<p><a href="http://feedads.g.doubleclick.net/~a/MJ8nbWkahqYPV7GgfmADhyN6z74/0/da"><img src="http://feedads.g.doubleclick.net/~a/MJ8nbWkahqYPV7GgfmADhyN6z74/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/MJ8nbWkahqYPV7GgfmADhyN6z74/1/da"><img src="http://feedads.g.doubleclick.net/~a/MJ8nbWkahqYPV7GgfmADhyN6z74/1/di" border="0" ismap="true"></img></a></p><img src="http://feeds.feedburner.com/~r/rails-on-the-road/~4/ApmA1WC6KY0" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.extendi.it/ruby-on-rails/index.php/2009/09/08/upgrade-a-snow-leopard/feed/</wfw:commentRss>
		<feedburner:origLink>http://www.extendi.it/ruby-on-rails/index.php/2009/09/08/upgrade-a-snow-leopard/</feedburner:origLink></item>
		<item>
		<title>Rails: default_scope</title>
		<link>http://feedproxy.google.com/~r/rails-on-the-road/~3/tc2w51Nb-9I/</link>
		<comments>http://www.extendi.it/ruby-on-rails/index.php/2009/08/27/rails-default_scope/#comments</comments>
		<pubDate>Thu, 27 Aug 2009 16:18:50 +0000</pubDate>
		<dc:creator>duccio</dc:creator>
		
		<category><![CDATA[Rails Snippet]]></category>

		<guid isPermaLink="false">http://www.extendi.it/ruby-on-rails/?p=898</guid>
		<description><![CDATA[Ricordate quando usavamo il plugin scoped_access per aggiungere condizioni di default ad ogni query effettuata, poi sono stati introdotti i named_scope, favolosi. 

Con i named_scope potete aggiungere dei metodi di classe per filtrare e recuperare elementi dal database, ad esempio se volete tutti i contenuti pubblicati:

    1 class Contenuti &#60; ActiveRecord::Base
  [...]]]></description>
			<content:encoded><![CDATA[<p>Ricordate quando usavamo il plugin <strong>scoped_access</strong> per aggiungere condizioni di default ad ogni query effettuata, poi sono stati introdotti i <a href="http://api.rubyonrails.org/classes/ActiveRecord/NamedScope/ClassMethods.html">named_scope</a>, favolosi. </p>

<p>Con i named_scope potete aggiungere dei metodi di classe per filtrare e recuperare elementi dal database, ad esempio se volete tutti i contenuti pubblicati:</p>

<pre class="textmate-source"><span class='linenum'>    1</span> <span class="source source_ruby source_ruby_rails"><span class="meta meta_rails meta_rails_model"><span class="meta meta_class meta_class_ruby"><span class="keyword keyword_control keyword_control_class keyword_control_class_ruby">class</span> <span class="entity entity_name entity_name_type entity_name_type_class entity_name_type_class_ruby">Contenuti<span class="entity entity_other entity_other_inherited-class entity_other_inherited-class_ruby"> <span class="punctuation punctuation_separator punctuation_separator_inheritance punctuation_separator_inheritance_ruby">&lt;</span> ActiveRecord::Base</span></span></span>
<span class='linenum'>    2</span>   <span class="support support_function support_function_activerecord support_function_activerecord_rails">named_scope</span> <span class="constant constant_other constant_other_symbol constant_other_symbol_ruby"><span class="punctuation punctuation_definition punctuation_definition_constant punctuation_definition_constant_ruby">:</span>pubblicati</span><span class="punctuation punctuation_separator punctuation_separator_object punctuation_separator_object_ruby">,</span> <span class="constant constant_other constant_other_symbol constant_other_symbol_ruby"><span class="punctuation punctuation_definition punctuation_definition_constant punctuation_definition_constant_ruby">:</span>conditions</span> <span class="punctuation punctuation_separator punctuation_separator_key-value">=&gt;</span> <span class="punctuation punctuation_section punctuation_section_scope punctuation_section_scope_ruby">{</span><span class="constant constant_other constant_other_symbol constant_other_symbol_ruby"><span class="punctuation punctuation_definition punctuation_definition_constant punctuation_definition_constant_ruby">:</span>published_at</span> <span class="punctuation punctuation_separator punctuation_separator_key-value">=&gt;</span> <span class="string string_quoted string_quoted_double string_quoted_double_ruby"><span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_begin punctuation_definition_string_begin_ruby">"</span>IS NOT NULL<span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_end punctuation_definition_string_end_ruby">"</span></span><span class="punctuation punctuation_section punctuation_section_scope punctuation_section_scope_ruby">}</span>
</span><span class='linenum'>    3</span> <span class="keyword keyword_control keyword_control_ruby">end</span></span></pre>

<p>Se però volete i contenuti pubblicati ma sempre e solo quelli scritti da un certo autore, dovreste fare un nuovo named scope: </p>

<pre class="textmate-source"><span class='linenum'>    1</span> <span class="source source_ruby source_ruby_rails"><span class="meta meta_rails meta_rails_model"><span class="meta meta_class meta_class_ruby"><span class="keyword keyword_control keyword_control_class keyword_control_class_ruby">class</span> <span class="entity entity_name entity_name_type entity_name_type_class entity_name_type_class_ruby">Contenuti<span class="entity entity_other entity_other_inherited-class entity_other_inherited-class_ruby"> <span class="punctuation punctuation_separator punctuation_separator_inheritance punctuation_separator_inheritance_ruby">&lt;</span> ActiveRecord::Base</span></span></span>
<span class='linenum'>    2</span>   <span class="support support_function support_function_activerecord support_function_activerecord_rails">named_scope</span> <span class="constant constant_other constant_other_symbol constant_other_symbol_ruby"><span class="punctuation punctuation_definition punctuation_definition_constant punctuation_definition_constant_ruby">:</span>pubblicati</span><span class="punctuation punctuation_separator punctuation_separator_object punctuation_separator_object_ruby">,</span> <span class="constant constant_other constant_other_symbol constant_other_symbol_ruby"><span class="punctuation punctuation_definition punctuation_definition_constant punctuation_definition_constant_ruby">:</span>conditions</span> <span class="punctuation punctuation_separator punctuation_separator_key-value">=&gt;</span> <span class="punctuation punctuation_section punctuation_section_scope punctuation_section_scope_ruby">{</span><span class="constant constant_other constant_other_symbol constant_other_symbol_ruby"><span class="punctuation punctuation_definition punctuation_definition_constant punctuation_definition_constant_ruby">:</span>published_at</span> <span class="punctuation punctuation_separator punctuation_separator_key-value">=&gt;</span> <span class="string string_quoted string_quoted_double string_quoted_double_ruby"><span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_begin punctuation_definition_string_begin_ruby">"</span>IS NOT NULL<span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_end punctuation_definition_string_end_ruby">"</span></span><span class="punctuation punctuation_section punctuation_section_scope punctuation_section_scope_ruby">}</span>
<span class='linenum'>    3</span>   <span class="support support_function support_function_activerecord support_function_activerecord_rails">named_scope</span> <span class="constant constant_other constant_other_symbol constant_other_symbol_ruby"><span class="punctuation punctuation_definition punctuation_definition_constant punctuation_definition_constant_ruby">:</span>solo_di_duccio</span><span class="punctuation punctuation_separator punctuation_separator_object punctuation_separator_object_ruby">,</span> <span class="constant constant_other constant_other_symbol constant_other_symbol_ruby"><span class="punctuation punctuation_definition punctuation_definition_constant punctuation_definition_constant_ruby">:</span>conditions</span> <span class="punctuation punctuation_separator punctuation_separator_key-value">=&gt;</span> <span class="punctuation punctuation_section punctuation_section_scope punctuation_section_scope_ruby">{</span><span class="constant constant_other constant_other_symbol constant_other_symbol_ruby"><span class="punctuation punctuation_definition punctuation_definition_constant punctuation_definition_constant_ruby">:</span>author_name</span> <span class="punctuation punctuation_separator punctuation_separator_key-value">=&gt;</span> <span class="string string_quoted string_quoted_double string_quoted_double_ruby"><span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_begin punctuation_definition_string_begin_ruby">"</span>duccio<span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_end punctuation_definition_string_end_ruby">"</span></span><span class="punctuation punctuation_section punctuation_section_scope punctuation_section_scope_ruby">}</span>
</span><span class='linenum'>    4</span> <span class="keyword keyword_control keyword_control_ruby">end</span>
</span><span class='linenum'>    5</span> </pre>

<p>e dopo fare <strong>Content.pubblicati.solo_di_duccio</strong>.</p>

<p>Ma se voglio sempre e solo quelli di duccio posso definire <strong>default_scope</strong>:</p>

<pre class="textmate-source"><span class='linenum'>    1</span> <span class="source source_ruby source_ruby_rails"><span class="meta meta_rails meta_rails_model"><span class="meta meta_class meta_class_ruby"><span class="keyword keyword_control keyword_control_class keyword_control_class_ruby">class</span> <span class="entity entity_name entity_name_type entity_name_type_class entity_name_type_class_ruby">Contenuti<span class="entity entity_other entity_other_inherited-class entity_other_inherited-class_ruby"> <span class="punctuation punctuation_separator punctuation_separator_inheritance punctuation_separator_inheritance_ruby">&lt;</span> ActiveRecord::Base</span></span></span>
<span class='linenum'>    2</span>   default_scope <span class="constant constant_other constant_other_symbol constant_other_symbol_ruby"><span class="punctuation punctuation_definition punctuation_definition_constant punctuation_definition_constant_ruby">:</span>conditions</span> <span class="punctuation punctuation_separator punctuation_separator_key-value">=&gt;</span> <span class="punctuation punctuation_section punctuation_section_scope punctuation_section_scope_ruby">{</span><span class="constant constant_other constant_other_symbol constant_other_symbol_ruby"><span class="punctuation punctuation_definition punctuation_definition_constant punctuation_definition_constant_ruby">:</span>author_name</span> <span class="punctuation punctuation_separator punctuation_separator_key-value">=&gt;</span> <span class="string string_quoted string_quoted_double string_quoted_double_ruby"><span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_begin punctuation_definition_string_begin_ruby">"</span>duccio<span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_end punctuation_definition_string_end_ruby">"</span></span><span class="punctuation punctuation_section punctuation_section_scope punctuation_section_scope_ruby">}</span><span class="punctuation punctuation_separator punctuation_separator_object punctuation_separator_object_ruby">,</span> <span class="constant constant_other constant_other_symbol constant_other_symbol_ruby"><span class="punctuation punctuation_definition punctuation_definition_constant punctuation_definition_constant_ruby">:</span>order</span> <span class="punctuation punctuation_separator punctuation_separator_key-value">=&gt;</span> <span class="string string_quoted string_quoted_single string_quoted_single_ruby"><span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_begin punctuation_definition_string_begin_ruby">'</span>created_at ASC<span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_end punctuation_definition_string_end_ruby">'</span></span>
</span><span class='linenum'>    3</span> <span class="keyword keyword_control keyword_control_ruby">end</span>
</span><span class='linenum'>    4</span> </pre>

<p><br /></p>

<p><a href="http://feedads.g.doubleclick.net/~a/IPYg6ldXb-V_h_IPD8oksZWiiLM/0/da"><img src="http://feedads.g.doubleclick.net/~a/IPYg6ldXb-V_h_IPD8oksZWiiLM/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/IPYg6ldXb-V_h_IPD8oksZWiiLM/1/da"><img src="http://feedads.g.doubleclick.net/~a/IPYg6ldXb-V_h_IPD8oksZWiiLM/1/di" border="0" ismap="true"></img></a></p><img src="http://feeds.feedburner.com/~r/rails-on-the-road/~4/tc2w51Nb-9I" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.extendi.it/ruby-on-rails/index.php/2009/08/27/rails-default_scope/feed/</wfw:commentRss>
		<feedburner:origLink>http://www.extendi.it/ruby-on-rails/index.php/2009/08/27/rails-default_scope/</feedburner:origLink></item>
		<item>
		<title>Localized Country Select plugin</title>
		<link>http://feedproxy.google.com/~r/rails-on-the-road/~3/VFUW63v-QIg/</link>
		<comments>http://www.extendi.it/ruby-on-rails/index.php/2009/08/17/localized-country-select-plugin/#comments</comments>
		<pubDate>Mon, 17 Aug 2009 16:36:31 +0000</pubDate>
		<dc:creator>silvio</dc:creator>
		
		<category><![CDATA[Rails Snippet]]></category>

		<category><![CDATA[Risorse]]></category>

		<category><![CDATA[plugin]]></category>

		<guid isPermaLink="false">http://www.extendi.it/ruby-on-rails/?p=885</guid>
		<description><![CDATA[Localized Country Select plugin permette di ottenere una select di nazioni con i nomi dei paesi tradotti in diverse lingue.

Il codice è basato su quello del vecchio country_select plugin e si appoggia all&#8217;I18n di Rails per la traduzione dei nomi.

&#60;%= localized_country_select(:iso, [], {:include_blank =&#62; "Tutte le nazioni"}) %&#62;

Il primo parametro, :iso nel mio caso, individua [...]]]></description>
			<content:encoded><![CDATA[<p><a title="Localized Country Select plugin" href="http://github.com/karmi/localized_country_select/tree/master">Localized Country Select plugin</a> permette di ottenere una select di nazioni con i nomi dei paesi tradotti in diverse lingue.</p>

<p>Il codice è basato su quello del <a title="country select plugin" href="http://github.com/rails/country_select/tree/master/lib/country_select.rb">vecchio country_select plugin</a> e si appoggia all&#8217;<a href="http://rails-i18n.org/">I18n</a> di Rails per la traduzione dei nomi.</p>

<pre class="textmate-source"><span class="text text_plain"><span class="meta meta_paragraph meta_paragraph_text">&lt;%= localized_country_select(:iso, [], {:include_blank =&gt; "Tutte le nazioni"}) %&gt;</span></span></pre>

<p>Il primo parametro, :iso nel mio caso, individua il country code della lingua in cui deve essere visualizzata la lista delle nazioni.</p>

<p>Inoltre all&#8217;interno dell&#8217;applicazione è possibile tradurre, con una semplice interrogazione all&#8217;I18n, il codice di una nazione nella lingua desiderata, la quale viene selezionata dal valore di <tt>I18n.locale</tt></p>

<p>Vediamo un esempio dalla console di rails:</p>

<pre class="textmate-source"><span class="text text_plain"><span class="meta meta_paragraph meta_paragraph_text">&gt;&gt; I18n.locale = "en"
=&gt; "en"
&gt;&gt; I18n.t "IT", :scope =&gt; 'countries'
=&gt; "Italy"
&gt;&gt; I18n.t "FR", :scope =&gt; 'countries'
=&gt; "France"
&gt;&gt; I18n.locale = "it"
=&gt; "it"
&gt;&gt; I18n.t "IT", :scope =&gt; 'countries'
=&gt; "Italia"
&gt;&gt; I18n.t "FR", :scope =&gt; 'countries'
=&gt; "Francia"</span></span></pre>

<p>Le traduzioni nelle lingue desiderate possono essere scaricate comodamente con task di rake e verranno importate direttamente dal <a title="CLDR" href="http://www.unicode.org/cldr/data/charts/summary/root.html">repository CLDR di Unicode.org</a></p>

<pre class="textmate-source"><span class="text text_plain"><span class="meta meta_paragraph meta_paragraph_text">rake import:country_select 'de'</span></span></pre>

<p><a href="http://feedads.g.doubleclick.net/~a/I1bWzhU5bym8qc7MJTsVOmE8Kxw/0/da"><img src="http://feedads.g.doubleclick.net/~a/I1bWzhU5bym8qc7MJTsVOmE8Kxw/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/I1bWzhU5bym8qc7MJTsVOmE8Kxw/1/da"><img src="http://feedads.g.doubleclick.net/~a/I1bWzhU5bym8qc7MJTsVOmE8Kxw/1/di" border="0" ismap="true"></img></a></p><img src="http://feeds.feedburner.com/~r/rails-on-the-road/~4/VFUW63v-QIg" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.extendi.it/ruby-on-rails/index.php/2009/08/17/localized-country-select-plugin/feed/</wfw:commentRss>
		<feedburner:origLink>http://www.extendi.it/ruby-on-rails/index.php/2009/08/17/localized-country-select-plugin/</feedburner:origLink></item>
		<item>
		<title>MorphList o LavaLamp per prototype</title>
		<link>http://feedproxy.google.com/~r/rails-on-the-road/~3/4Ysfn-A8kjI/</link>
		<comments>http://www.extendi.it/ruby-on-rails/index.php/2009/07/30/morphlist-o-lavalamp-per-prototype/#comments</comments>
		<pubDate>Thu, 30 Jul 2009 15:48:11 +0000</pubDate>
		<dc:creator>duccio</dc:creator>
		
		<category><![CDATA[Rails Snippet]]></category>

		<category><![CDATA[Risorse]]></category>

		<guid isPermaLink="false">http://www.extendi.it/ruby-on-rails/?p=869</guid>
		<description><![CDATA[Volevo usare il Lavalamp in uno dei nostri progetti, ma esistono due versioni una per il jQuery e una per le MooTools, peccato che io usi prototype (testato con Prototype JavaScript framework, version 1.6.0.2).

Dopo aver fatto una ricerca poco felice su un effetto simile in prototype, l&#8217;ho rifatto! Mi sembra che funzioni abbastanza bene. Comunque [...]]]></description>
			<content:encoded><![CDATA[<p>Volevo usare il Lavalamp in uno dei nostri progetti, ma esistono due versioni una per il <a href="http://www.gmarwaha.com/blog/2007/08/23/lavalamp-for-jquery-lovers/">jQuery</a> e una per le <a href="http://devthought.com/projects/mootools/morphlist/#">MooTools</a>, peccato che io usi prototype (testato con Prototype JavaScript framework, version 1.6.0.2).</p>

<p>Dopo aver fatto una ricerca poco felice su un effetto simile in prototype, l&#8217;ho rifatto! Mi sembra che funzioni abbastanza bene. Comunque provatelo e ditemi se vi da dei problemi.</p>

<pre class="textmate-source"><span class='linenum'>    1</span> <span class="source source_js"><span class="storage storage_type storage_type_js">var</span> LavaLamp <span class="keyword keyword_operator keyword_operator_js">=</span> Class<span class="meta meta_delimiter meta_delimiter_method meta_delimiter_method_period meta_delimiter_method_period_js">.</span>create<span class="meta meta_brace meta_brace_round meta_brace_round_js">(</span><span class="meta meta_brace meta_brace_curly meta_brace_curly_js">{</span>
<span class='linenum'>    2</span>   <span class="meta meta_function meta_function_json meta_function_json_js"><span class="entity entity_name entity_name_function entity_name_function_js">initialize</span>: <span class="storage storage_type storage_type_function storage_type_function_js">function</span><span class="punctuation punctuation_definition punctuation_definition_parameters punctuation_definition_parameters_begin punctuation_definition_parameters_begin_js">(</span><span class="variable variable_parameter variable_parameter_function variable_parameter_function_js">obj, options</span><span class="punctuation punctuation_definition punctuation_definition_parameters punctuation_definition_parameters_end punctuation_definition_parameters_end_js">)</span></span> <span class="meta meta_brace meta_brace_curly meta_brace_curly_js">{</span>
<span class='linenum'>    3</span>     <span class="storage storage_type storage_type_js">var</span> actualElement <span class="keyword keyword_operator keyword_operator_js">=</span> <span class="string string_quoted string_quoted_double string_quoted_double_js"><span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_begin punctuation_definition_string_begin_js">"</span><span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_end punctuation_definition_string_end_js">"</span></span>
<span class='linenum'>    4</span>     Event<span class="meta meta_delimiter meta_delimiter_method meta_delimiter_method_period meta_delimiter_method_period_js">.</span>observe<span class="meta meta_brace meta_brace_round meta_brace_round_js">(</span><span class="keyword keyword_operator keyword_operator_js">$</span><span class="meta meta_brace meta_brace_round meta_brace_round_js">(</span>obj<span class="meta meta_brace meta_brace_round meta_brace_round_js">)</span><span class="meta meta_delimiter meta_delimiter_object meta_delimiter_object_comma meta_delimiter_object_comma_js">, </span><span class="string string_quoted string_quoted_single string_quoted_single_js"><span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_begin punctuation_definition_string_begin_js">'</span>mouseover<span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_end punctuation_definition_string_end_js">'</span></span><span class="meta meta_delimiter meta_delimiter_object meta_delimiter_object_comma meta_delimiter_object_comma_js">, </span><span class="storage storage_type storage_type_js">function</span><span class="meta meta_brace meta_brace_round meta_brace_round_js">(</span><span class="support support_class support_class_js">event</span><span class="meta meta_brace meta_brace_round meta_brace_round_js">)</span><span class="meta meta_brace meta_brace_curly meta_brace_curly_js">{</span>
<span class='linenum'>    5</span>       <span class="comment comment_line comment_line_double-slash comment_line_double-slash_js"><span class="punctuation punctuation_definition punctuation_definition_comment punctuation_definition_comment_js">//</span> Internet Explorer
</span><span class='linenum'>    6</span>       <span class="keyword keyword_control keyword_control_js">if</span> <span class="meta meta_brace meta_brace_round meta_brace_round_js">(</span><span class="support support_class support_class_js">event</span><span class="meta meta_delimiter meta_delimiter_method meta_delimiter_method_period meta_delimiter_method_period_js">.</span>srcElement<span class="meta meta_brace meta_brace_round meta_brace_round_js">)</span><span class="meta meta_brace meta_brace_curly meta_brace_curly_js">{</span>actualElement <span class="keyword keyword_operator keyword_operator_js">=</span> <span class="support support_class support_class_js">event</span><span class="meta meta_delimiter meta_delimiter_method meta_delimiter_method_period meta_delimiter_method_period_js">.</span>srcElement<span class="meta meta_delimiter meta_delimiter_method meta_delimiter_method_period meta_delimiter_method_period_js">.</span><span class="support support_constant support_constant_dom support_constant_dom_js">id</span><span class="meta meta_brace meta_brace_curly meta_brace_curly_js">}</span>
<span class='linenum'>    7</span>       <span class="comment comment_line comment_line_double-slash comment_line_double-slash_js"><span class="punctuation punctuation_definition punctuation_definition_comment punctuation_definition_comment_js">//</span> Netscape and Firefox
</span><span class='linenum'>    8</span>       <span class="keyword keyword_control keyword_control_js">else</span> <span class="keyword keyword_control keyword_control_js">if</span> <span class="meta meta_brace meta_brace_round meta_brace_round_js">(</span><span class="support support_class support_class_js">event</span><span class="meta meta_delimiter meta_delimiter_method meta_delimiter_method_period meta_delimiter_method_period_js">.</span><span class="support support_constant support_constant_dom support_constant_dom_js">target</span><span class="meta meta_brace meta_brace_round meta_brace_round_js">)</span><span class="meta meta_brace meta_brace_curly meta_brace_curly_js">{</span>actualElement <span class="keyword keyword_operator keyword_operator_js">=</span> <span class="support support_class support_class_js">event</span><span class="meta meta_delimiter meta_delimiter_method meta_delimiter_method_period meta_delimiter_method_period_js">.</span><span class="support support_constant support_constant_dom support_constant_dom_js">target</span><span class="meta meta_delimiter meta_delimiter_method meta_delimiter_method_period meta_delimiter_method_period_js">.</span><span class="support support_constant support_constant_dom support_constant_dom_js">id</span><span class="meta meta_brace meta_brace_curly meta_brace_curly_js">}</span> 
<span class='linenum'>    9</span>     <span class="meta meta_brace meta_brace_curly meta_brace_curly_js">}</span><span class="meta meta_delimiter meta_delimiter_method meta_delimiter_method_period meta_delimiter_method_period_js">.</span>bind<span class="meta meta_brace meta_brace_round meta_brace_round_js">(</span><span class="variable variable_language variable_language_js">this</span><span class="meta meta_brace meta_brace_round meta_brace_round_js">))</span><span class="punctuation punctuation_terminator punctuation_terminator_statement punctuation_terminator_statement_js">;</span>
<span class='linenum'>   10</span>     
<span class='linenum'>   11</span>     <span class="storage storage_type storage_type_js">var</span> myarray <span class="keyword keyword_operator keyword_operator_js">=</span> <span class="meta meta_class meta_class_instance meta_class_instance_constructor"><span class="keyword keyword_operator keyword_operator_new keyword_operator_new_js">new</span> <span class="entity entity_name entity_name_type entity_name_type_instance entity_name_type_instance_js">Array</span></span><span class="meta meta_brace meta_brace_round meta_brace_round_js">()</span><span class="punctuation punctuation_terminator punctuation_terminator_statement punctuation_terminator_statement_js">;</span>
<span class='linenum'>   12</span>     <span class="variable variable_language variable_language_js">this</span><span class="meta meta_delimiter meta_delimiter_method meta_delimiter_method_period meta_delimiter_method_period_js">.</span>menu <span class="keyword keyword_operator keyword_operator_js">=</span> <span class="keyword keyword_operator keyword_operator_js">$</span><span class="meta meta_brace meta_brace_round meta_brace_round_js">(</span>obj<span class="meta meta_brace meta_brace_round meta_brace_round_js">)</span><span class="meta meta_delimiter meta_delimiter_object meta_delimiter_object_comma meta_delimiter_object_comma_js">, </span><span class="variable variable_language variable_language_js">this</span><span class="meta meta_delimiter meta_delimiter_method meta_delimiter_method_period meta_delimiter_method_period_js">.</span><span class="support support_constant support_constant_js">current</span> <span class="keyword keyword_operator keyword_operator_js">=</span> <span class="variable variable_language variable_language_js">this</span><span class="meta meta_delimiter meta_delimiter_method meta_delimiter_method_period meta_delimiter_method_period_js">.</span>menu<span class="meta meta_delimiter meta_delimiter_method meta_delimiter_method_period meta_delimiter_method_period_js">.</span><span class="support support_function support_function_dom support_function_dom_js">select</span><span class="meta meta_brace meta_brace_round meta_brace_round_js">(</span><span class="string string_quoted string_quoted_single string_quoted_single_js"><span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_begin punctuation_definition_string_begin_js">'</span>li.current<span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_end punctuation_definition_string_end_js">'</span></span><span class="meta meta_brace meta_brace_round meta_brace_round_js">)</span><span class="meta meta_delimiter meta_delimiter_method meta_delimiter_method_period meta_delimiter_method_period_js">.</span>first<span class="meta meta_brace meta_brace_round meta_brace_round_js">()</span><span class="punctuation punctuation_terminator punctuation_terminator_statement punctuation_terminator_statement_js">;</span>
<span class='linenum'>   13</span>     
<span class='linenum'>   14</span>     <span class="variable variable_language variable_language_js">this</span><span class="meta meta_delimiter meta_delimiter_method meta_delimiter_method_period meta_delimiter_method_period_js">.</span>menu<span class="meta meta_delimiter meta_delimiter_method meta_delimiter_method_period meta_delimiter_method_period_js">.</span><span class="support support_function support_function_dom support_function_dom_js">select</span><span class="meta meta_brace meta_brace_round meta_brace_round_js">(</span><span class="string string_quoted string_quoted_single string_quoted_single_js"><span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_begin punctuation_definition_string_begin_js">'</span>li<span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_end punctuation_definition_string_end_js">'</span></span><span class="meta meta_brace meta_brace_round meta_brace_round_js">)</span><span class="meta meta_delimiter meta_delimiter_method meta_delimiter_method_period meta_delimiter_method_period_js">.</span>each<span class="meta meta_brace meta_brace_round meta_brace_round_js">(</span><span class="storage storage_type storage_type_js">function</span><span class="meta meta_brace meta_brace_round meta_brace_round_js">(</span>item<span class="meta meta_brace meta_brace_round meta_brace_round_js">)</span><span class="meta meta_brace meta_brace_curly meta_brace_curly_js">{</span>
<span class='linenum'>   15</span>       Event<span class="meta meta_delimiter meta_delimiter_method meta_delimiter_method_period meta_delimiter_method_period_js">.</span>observe<span class="meta meta_brace meta_brace_round meta_brace_round_js">(</span>item<span class="meta meta_delimiter meta_delimiter_object meta_delimiter_object_comma meta_delimiter_object_comma_js">, </span><span class="string string_quoted string_quoted_single string_quoted_single_js"><span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_begin punctuation_definition_string_begin_js">'</span>mouseover<span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_end punctuation_definition_string_end_js">'</span></span><span class="meta meta_delimiter meta_delimiter_object meta_delimiter_object_comma meta_delimiter_object_comma_js">, </span><span class="storage storage_type storage_type_js">function</span><span class="meta meta_brace meta_brace_round meta_brace_round_js">(</span><span class="support support_class support_class_js">event</span><span class="meta meta_brace meta_brace_round meta_brace_round_js">)</span><span class="meta meta_brace meta_brace_curly meta_brace_curly_js">{</span><span class="variable variable_language variable_language_js">this</span><span class="meta meta_delimiter meta_delimiter_method meta_delimiter_method_period meta_delimiter_method_period_js">.</span>slide<span class="meta meta_brace meta_brace_round meta_brace_round_js">(</span>item<span class="meta meta_delimiter meta_delimiter_object meta_delimiter_object_comma meta_delimiter_object_comma_js">, </span>actualElement<span class="meta meta_brace meta_brace_round meta_brace_round_js">)</span><span class="meta meta_brace meta_brace_curly meta_brace_curly_js">}</span><span class="meta meta_delimiter meta_delimiter_method meta_delimiter_method_period meta_delimiter_method_period_js">.</span>bind<span class="meta meta_brace meta_brace_round meta_brace_round_js">(</span><span class="variable variable_language variable_language_js">this</span><span class="meta meta_brace meta_brace_round meta_brace_round_js">))</span><span class="punctuation punctuation_terminator punctuation_terminator_statement punctuation_terminator_statement_js">;</span>
<span class='linenum'>   16</span>       Event<span class="meta meta_delimiter meta_delimiter_method meta_delimiter_method_period meta_delimiter_method_period_js">.</span>observe<span class="meta meta_brace meta_brace_round meta_brace_round_js">(</span>item<span class="meta meta_delimiter meta_delimiter_object meta_delimiter_object_comma meta_delimiter_object_comma_js">, </span><span class="string string_quoted string_quoted_single string_quoted_single_js"><span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_begin punctuation_definition_string_begin_js">'</span>mouseout<span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_end punctuation_definition_string_end_js">'</span></span><span class="meta meta_delimiter meta_delimiter_object meta_delimiter_object_comma meta_delimiter_object_comma_js">, </span><span class="storage storage_type storage_type_js">function</span><span class="meta meta_brace meta_brace_round meta_brace_round_js">(</span><span class="support support_class support_class_js">event</span><span class="meta meta_brace meta_brace_round meta_brace_round_js">)</span><span class="meta meta_brace meta_brace_curly meta_brace_curly_js">{</span><span class="variable variable_language variable_language_js">this</span><span class="meta meta_delimiter meta_delimiter_method meta_delimiter_method_period meta_delimiter_method_period_js">.</span>slide<span class="meta meta_brace meta_brace_round meta_brace_round_js">(</span><span class="variable variable_language variable_language_js">this</span><span class="meta meta_delimiter meta_delimiter_method meta_delimiter_method_period meta_delimiter_method_period_js">.</span><span class="support support_constant support_constant_js">current</span><span class="meta meta_delimiter meta_delimiter_object meta_delimiter_object_comma meta_delimiter_object_comma_js">, </span>actualElement<span class="meta meta_brace meta_brace_round meta_brace_round_js">)</span><span class="meta meta_brace meta_brace_curly meta_brace_curly_js">}</span><span class="meta meta_delimiter meta_delimiter_method meta_delimiter_method_period meta_delimiter_method_period_js">.</span>bind<span class="meta meta_brace meta_brace_round meta_brace_round_js">(</span><span class="variable variable_language variable_language_js">this</span><span class="meta meta_brace meta_brace_round meta_brace_round_js">))</span><span class="punctuation punctuation_terminator punctuation_terminator_statement punctuation_terminator_statement_js">;</span>
<span class='linenum'>   17</span>     <span class="meta meta_brace meta_brace_curly meta_brace_curly_js">}</span><span class="meta meta_delimiter meta_delimiter_method meta_delimiter_method_period meta_delimiter_method_period_js">.</span>bind<span class="meta meta_brace meta_brace_round meta_brace_round_js">(</span><span class="variable variable_language variable_language_js">this</span><span class="meta meta_brace meta_brace_round meta_brace_round_js">))</span><span class="punctuation punctuation_terminator punctuation_terminator_statement punctuation_terminator_statement_js">;</span>
<span class='linenum'>   18</span>  
<span class='linenum'>   19</span>     <span class="meta meta_class meta_class_instance meta_class_instance_constructor"><span class="keyword keyword_operator keyword_operator_new keyword_operator_new_js">new</span> <span class="entity entity_name entity_name_type entity_name_type_instance entity_name_type_instance_js">Element.insert</span></span><span class="meta meta_brace meta_brace_round meta_brace_round_js">(</span><span class="variable variable_language variable_language_js">this</span><span class="meta meta_delimiter meta_delimiter_method meta_delimiter_method_period meta_delimiter_method_period_js">.</span>menu<span class="meta meta_delimiter meta_delimiter_object meta_delimiter_object_comma meta_delimiter_object_comma_js">, </span><span class="string string_quoted string_quoted_single string_quoted_single_js"><span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_begin punctuation_definition_string_begin_js">'</span>&lt;li style="display:none;" class="background"&gt;&lt;div class="left"&gt;&lt;/div&gt;&lt;/li&gt;<span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_end punctuation_definition_string_end_js">'</span></span><span class="meta meta_brace meta_brace_round meta_brace_round_js">)</span>
<span class='linenum'>   20</span>     <span class="variable variable_language variable_language_js">this</span><span class="meta meta_delimiter meta_delimiter_method meta_delimiter_method_period meta_delimiter_method_period_js">.</span>bgitem <span class="keyword keyword_operator keyword_operator_js">=</span> <span class="variable variable_language variable_language_js">this</span><span class="meta meta_delimiter meta_delimiter_method meta_delimiter_method_period meta_delimiter_method_period_js">.</span>menu<span class="meta meta_delimiter meta_delimiter_method meta_delimiter_method_period meta_delimiter_method_period_js">.</span><span class="support support_function support_function_dom support_function_dom_js">select</span><span class="meta meta_brace meta_brace_round meta_brace_round_js">(</span><span class="string string_quoted string_quoted_single string_quoted_single_js"><span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_begin punctuation_definition_string_begin_js">'</span>li.background<span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_end punctuation_definition_string_end_js">'</span></span><span class="meta meta_brace meta_brace_round meta_brace_round_js">)</span><span class="meta meta_delimiter meta_delimiter_method meta_delimiter_method_period meta_delimiter_method_period_js">.</span>first<span class="meta meta_brace meta_brace_round meta_brace_round_js">()</span><span class="punctuation punctuation_terminator punctuation_terminator_statement punctuation_terminator_statement_js">;</span>
<span class='linenum'>   21</span>     <span class="variable variable_language variable_language_js">this</span><span class="meta meta_delimiter meta_delimiter_method meta_delimiter_method_period meta_delimiter_method_period_js">.</span>setCurrent<span class="meta meta_brace meta_brace_round meta_brace_round_js">(</span><span class="variable variable_language variable_language_js">this</span><span class="meta meta_delimiter meta_delimiter_method meta_delimiter_method_period meta_delimiter_method_period_js">.</span><span class="support support_constant support_constant_js">current</span><span class="meta meta_brace meta_brace_round meta_brace_round_js">)</span><span class="punctuation punctuation_terminator punctuation_terminator_statement punctuation_terminator_statement_js">;</span>
<span class='linenum'>   22</span>   <span class="meta meta_brace meta_brace_curly meta_brace_curly_js">}</span><span class="meta meta_delimiter meta_delimiter_object meta_delimiter_object_comma meta_delimiter_object_comma_js">,</span>
<span class='linenum'>   23</span>   
<span class='linenum'>   24</span>   <span class="meta meta_function meta_function_json meta_function_json_js"><span class="entity entity_name entity_name_function entity_name_function_js">slide</span>: <span class="storage storage_type storage_type_function storage_type_function_js">function</span><span class="punctuation punctuation_definition punctuation_definition_parameters punctuation_definition_parameters_begin punctuation_definition_parameters_begin_js">(</span><span class="variable variable_parameter variable_parameter_function variable_parameter_function_js">to, act</span><span class="punctuation punctuation_definition punctuation_definition_parameters punctuation_definition_parameters_end punctuation_definition_parameters_end_js">)</span></span> <span class="meta meta_brace meta_brace_curly meta_brace_curly_js">{</span>
<span class='linenum'>   25</span>     <span class="keyword keyword_control keyword_control_js">if</span><span class="meta meta_brace meta_brace_round meta_brace_round_js">(</span><span class="keyword keyword_operator keyword_operator_js">!</span><span class="variable variable_language variable_language_js">this</span><span class="meta meta_delimiter meta_delimiter_method meta_delimiter_method_period meta_delimiter_method_period_js">.</span><span class="support support_constant support_constant_js">current</span> <span class="keyword keyword_operator keyword_operator_js">||</span> <span class="meta meta_brace meta_brace_round meta_brace_round_js">(</span><span class="variable variable_language variable_language_js">this</span><span class="meta meta_delimiter meta_delimiter_method meta_delimiter_method_period meta_delimiter_method_period_js">.</span><span class="support support_constant support_constant_js">current</span> <span class="keyword keyword_operator keyword_operator_js">==</span> to <span class="keyword keyword_operator keyword_operator_js">&amp;&amp;</span> act <span class="keyword keyword_operator keyword_operator_js">!=</span> <span class="string string_quoted string_quoted_double string_quoted_double_js"><span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_begin punctuation_definition_string_begin_js">"</span><span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_end punctuation_definition_string_end_js">"</span></span><span class="meta meta_brace meta_brace_round meta_brace_round_js">))</span> <span class="keyword keyword_control keyword_control_js">return</span><span class="punctuation punctuation_terminator punctuation_terminator_statement punctuation_terminator_statement_js">;</span>
<span class='linenum'>   26</span>     <span class="meta meta_class meta_class_instance meta_class_instance_constructor"><span class="keyword keyword_operator keyword_operator_new keyword_operator_new_js">new</span> <span class="entity entity_name entity_name_type entity_name_type_instance entity_name_type_instance_js">Effect.Parallel</span></span><span class="meta meta_brace meta_brace_round meta_brace_round_js">(</span><span class="meta meta_brace meta_brace_square meta_brace_square_js">[</span>
<span class='linenum'>   27</span>       <span class="meta meta_class meta_class_instance meta_class_instance_constructor"><span class="keyword keyword_operator keyword_operator_new keyword_operator_new_js">new</span> <span class="entity entity_name entity_name_type entity_name_type_instance entity_name_type_instance_js">Effect.Move</span></span><span class="meta meta_brace meta_brace_round meta_brace_round_js">(</span><span class="variable variable_language variable_language_js">this</span><span class="meta meta_delimiter meta_delimiter_method meta_delimiter_method_period meta_delimiter_method_period_js">.</span>bgitem<span class="meta meta_delimiter meta_delimiter_object meta_delimiter_object_comma meta_delimiter_object_comma_js">, </span><span class="meta meta_brace meta_brace_curly meta_brace_curly_js">{</span>sync: <span class="constant constant_language constant_language_boolean constant_language_boolean_true constant_language_boolean_true_js">true</span><span class="meta meta_delimiter meta_delimiter_object meta_delimiter_object_comma meta_delimiter_object_comma_js">, </span>x: to<span class="meta meta_delimiter meta_delimiter_method meta_delimiter_method_period meta_delimiter_method_period_js">.</span>offsetLeft<span class="meta meta_delimiter meta_delimiter_object meta_delimiter_object_comma meta_delimiter_object_comma_js">, </span>y: <span class="constant constant_numeric constant_numeric_js">0</span><span class="meta meta_delimiter meta_delimiter_object meta_delimiter_object_comma meta_delimiter_object_comma_js">, </span>mode: <span class="string string_quoted string_quoted_single string_quoted_single_js"><span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_begin punctuation_definition_string_begin_js">'</span>absolute<span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_end punctuation_definition_string_end_js">'</span></span><span class="meta meta_delimiter meta_delimiter_object meta_delimiter_object_comma meta_delimiter_object_comma_js">, </span>transition: Effect<span class="meta meta_delimiter meta_delimiter_method meta_delimiter_method_period meta_delimiter_method_period_js">.</span>Transitions<span class="meta meta_delimiter meta_delimiter_method meta_delimiter_method_period meta_delimiter_method_period_js">.</span>linear<span class="meta meta_brace meta_brace_curly meta_brace_curly_js">}</span><span class="meta meta_brace meta_brace_round meta_brace_round_js">)</span><span class="meta meta_delimiter meta_delimiter_object meta_delimiter_object_comma meta_delimiter_object_comma_js">, </span>
<span class='linenum'>   28</span>       <span class="meta meta_class meta_class_instance meta_class_instance_constructor"><span class="keyword keyword_operator keyword_operator_new keyword_operator_new_js">new</span> <span class="entity entity_name entity_name_type entity_name_type_instance entity_name_type_instance_js">Effect.Morph</span></span><span class="meta meta_brace meta_brace_round meta_brace_round_js">(</span><span class="variable variable_language variable_language_js">this</span><span class="meta meta_delimiter meta_delimiter_method meta_delimiter_method_period meta_delimiter_method_period_js">.</span>bgitem<span class="meta meta_delimiter meta_delimiter_object meta_delimiter_object_comma meta_delimiter_object_comma_js">, </span><span class="meta meta_brace meta_brace_curly meta_brace_curly_js">{</span>sync: <span class="constant constant_language constant_language_boolean constant_language_boolean_true constant_language_boolean_true_js">true</span><span class="meta meta_delimiter meta_delimiter_object meta_delimiter_object_comma meta_delimiter_object_comma_js">, </span>style: <span class="meta meta_brace meta_brace_curly meta_brace_curly_js">{</span>width: to<span class="meta meta_delimiter meta_delimiter_method meta_delimiter_method_period meta_delimiter_method_period_js">.</span>getWidth<span class="meta meta_brace meta_brace_round meta_brace_round_js">()</span><span class="keyword keyword_operator keyword_operator_js">+</span><span class="string string_quoted string_quoted_single string_quoted_single_js"><span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_begin punctuation_definition_string_begin_js">'</span>px<span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_end punctuation_definition_string_end_js">'</span></span><span class="meta meta_brace meta_brace_curly meta_brace_curly_js">}}</span><span class="meta meta_brace meta_brace_round meta_brace_round_js">)</span>
<span class='linenum'>   29</span>     <span class="meta meta_brace meta_brace_square meta_brace_square_js">]</span><span class="meta meta_brace meta_brace_round meta_brace_round_js">)</span>
<span class='linenum'>   30</span>   <span class="meta meta_brace meta_brace_curly meta_brace_curly_js">}</span><span class="meta meta_delimiter meta_delimiter_object meta_delimiter_object_comma meta_delimiter_object_comma_js">,</span>
<span class='linenum'>   31</span>  
<span class='linenum'>   32</span>   <span class="meta meta_function meta_function_json meta_function_json_js"><span class="entity entity_name entity_name_function entity_name_function_js">setCurrent</span>: <span class="storage storage_type storage_type_function storage_type_function_js">function</span><span class="punctuation punctuation_definition punctuation_definition_parameters punctuation_definition_parameters_begin punctuation_definition_parameters_begin_js">(</span><span class="variable variable_parameter variable_parameter_function variable_parameter_function_js">item</span><span class="punctuation punctuation_definition punctuation_definition_parameters punctuation_definition_parameters_end punctuation_definition_parameters_end_js">)</span></span><span class="meta meta_brace meta_brace_curly meta_brace_curly_js">{</span>
<span class='linenum'>   33</span>     <span class="variable variable_language variable_language_js">this</span><span class="meta meta_delimiter meta_delimiter_method meta_delimiter_method_period meta_delimiter_method_period_js">.</span>bgitem<span class="meta meta_delimiter meta_delimiter_method meta_delimiter_method_period meta_delimiter_method_period_js">.</span>setStyle<span class="meta meta_brace meta_brace_round meta_brace_round_js">(</span><span class="meta meta_brace meta_brace_curly meta_brace_curly_js">{</span>left: <span class="meta meta_brace meta_brace_round meta_brace_round_js">(</span>item<span class="meta meta_delimiter meta_delimiter_method meta_delimiter_method_period meta_delimiter_method_period_js">.</span>offsetLeft<span class="meta meta_brace meta_brace_round meta_brace_round_js">)</span><span class="keyword keyword_operator keyword_operator_js">+</span><span class="string string_quoted string_quoted_single string_quoted_single_js"><span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_begin punctuation_definition_string_begin_js">'</span>px<span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_end punctuation_definition_string_end_js">'</span></span><span class="meta meta_delimiter meta_delimiter_object meta_delimiter_object_comma meta_delimiter_object_comma_js">, </span>width: <span class="meta meta_brace meta_brace_round meta_brace_round_js">(</span>item<span class="meta meta_delimiter meta_delimiter_method meta_delimiter_method_period meta_delimiter_method_period_js">.</span>offsetWidth<span class="meta meta_brace meta_brace_round meta_brace_round_js">)</span><span class="keyword keyword_operator keyword_operator_js">+</span><span class="string string_quoted string_quoted_single string_quoted_single_js"><span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_begin punctuation_definition_string_begin_js">'</span>px<span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_end punctuation_definition_string_end_js">'</span></span><span class="meta meta_brace meta_brace_curly meta_brace_curly_js">}</span><span class="meta meta_brace meta_brace_round meta_brace_round_js">)</span><span class="punctuation punctuation_terminator punctuation_terminator_statement punctuation_terminator_statement_js">;</span>
<span class='linenum'>   34</span>     <span class="variable variable_language variable_language_js">this</span><span class="meta meta_delimiter meta_delimiter_method meta_delimiter_method_period meta_delimiter_method_period_js">.</span><span class="support support_constant support_constant_js">current</span> <span class="keyword keyword_operator keyword_operator_js">=</span> item<span class="punctuation punctuation_terminator punctuation_terminator_statement punctuation_terminator_statement_js">;</span>
<span class='linenum'>   35</span>     <span class="variable variable_language variable_language_js">this</span><span class="meta meta_delimiter meta_delimiter_method meta_delimiter_method_period meta_delimiter_method_period_js">.</span>bgitem<span class="meta meta_delimiter meta_delimiter_method meta_delimiter_method_period meta_delimiter_method_period_js">.</span>show<span class="meta meta_brace meta_brace_round meta_brace_round_js">()</span><span class="punctuation punctuation_terminator punctuation_terminator_statement punctuation_terminator_statement_js">;</span>
<span class='linenum'>   36</span>   <span class="meta meta_brace meta_brace_curly meta_brace_curly_js">}</span>
<span class='linenum'>   37</span> <span class="meta meta_brace meta_brace_curly meta_brace_curly_js">}</span><span class="meta meta_brace meta_brace_round meta_brace_round_js">)</span>
<span class='linenum'>   38</span>  
<span class='linenum'>   39</span> Event<span class="meta meta_delimiter meta_delimiter_method meta_delimiter_method_period meta_delimiter_method_period_js">.</span>observe<span class="meta meta_brace meta_brace_round meta_brace_round_js">(</span><span class="support support_class support_class_js">window</span><span class="meta meta_delimiter meta_delimiter_object meta_delimiter_object_comma meta_delimiter_object_comma_js">, </span><span class="string string_quoted string_quoted_single string_quoted_single_js"><span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_begin punctuation_definition_string_begin_js">'</span>load<span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_end punctuation_definition_string_end_js">'</span></span><span class="meta meta_delimiter meta_delimiter_object meta_delimiter_object_comma meta_delimiter_object_comma_js">, </span><span class="storage storage_type storage_type_js">function</span><span class="meta meta_brace meta_brace_round meta_brace_round_js">()</span> <span class="meta meta_brace meta_brace_curly meta_brace_curly_js">{</span>
<span class='linenum'>   40</span>   <span class="meta meta_class meta_class_instance meta_class_instance_constructor"><span class="keyword keyword_operator keyword_operator_new keyword_operator_new_js">new</span> <span class="entity entity_name entity_name_type entity_name_type_instance entity_name_type_instance_js">LavaLamp</span></span><span class="meta meta_brace meta_brace_round meta_brace_round_js">(</span><span class="string string_quoted string_quoted_single string_quoted_single_js"><span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_begin punctuation_definition_string_begin_js">'</span>lavalamp<span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_end punctuation_definition_string_end_js">'</span></span><span class="meta meta_brace meta_brace_round meta_brace_round_js">)</span>
<span class='linenum'>   41</span> <span class="meta meta_brace meta_brace_curly meta_brace_curly_js">}</span><span class="meta meta_brace meta_brace_round meta_brace_round_js">)</span><span class="punctuation punctuation_terminator punctuation_terminator_statement punctuation_terminator_statement_js">;</span></span></pre>

<p>Usate un <strong>ul</strong> e <strong>li</strong> per il vostro menu con id <em>lavalamp</em> e classe <em>lavalampfx</em> e ricordare di dare un id ad ogni li del menu, anche un numero progressivo:</p>

<pre class="textmate-source"><span class='linenum'>    1</span> <span class="text text_html text_html_basic"><span class="meta meta_tag meta_tag_block meta_tag_block_any meta_tag_block_any_html"><span class="punctuation punctuation_definition punctuation_definition_tag punctuation_definition_tag_begin punctuation_definition_tag_begin_html">&lt;</span><span class="entity entity_name entity_name_tag entity_name_tag_block entity_name_tag_block_any entity_name_tag_block_any_html">ul</span> <span class="meta meta_attribute-with-value meta_attribute-with-value_id meta_attribute-with-value_id_html"><span class="entity entity_other entity_other_attribute-name entity_other_attribute-name_id entity_other_attribute-name_id_html">id</span><span class="punctuation punctuation_separator punctuation_separator_key-value punctuation_separator_key-value_html">=</span><span class="string string_quoted string_quoted_double string_quoted_double_html"><span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_begin punctuation_definition_string_begin_html">"</span><span class="meta meta_toc-list meta_toc-list_id meta_toc-list_id_html">lavalamp</span><span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_end punctuation_definition_string_end_html">"</span></span></span> <span class="entity entity_other entity_other_attribute-name entity_other_attribute-name_html">class</span>=<span class="string string_quoted string_quoted_double string_quoted_double_html"><span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_begin punctuation_definition_string_begin_html">"</span>lavalampfx<span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_end punctuation_definition_string_end_html">"</span></span><span class="punctuation punctuation_definition punctuation_definition_tag punctuation_definition_tag_end punctuation_definition_tag_end_html">&gt;</span></span>
<span class='linenum'>    2</span>   <span class="meta meta_tag meta_tag_inline meta_tag_inline_any meta_tag_inline_any_html"><span class="punctuation punctuation_definition punctuation_definition_tag punctuation_definition_tag_begin punctuation_definition_tag_begin_html">&lt;</span><span class="entity entity_name entity_name_tag entity_name_tag_inline entity_name_tag_inline_any entity_name_tag_inline_any_html">li</span> <span class="meta meta_attribute-with-value meta_attribute-with-value_id meta_attribute-with-value_id_html"><span class="entity entity_other entity_other_attribute-name entity_other_attribute-name_id entity_other_attribute-name_id_html">id</span><span class="punctuation punctuation_separator punctuation_separator_key-value punctuation_separator_key-value_html">=</span><span class="string string_quoted string_quoted_double string_quoted_double_html"><span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_begin punctuation_definition_string_begin_html">"</span><span class="meta meta_toc-list meta_toc-list_id meta_toc-list_id_html">1</span><span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_end punctuation_definition_string_end_html">"</span></span></span><span class="punctuation punctuation_definition punctuation_definition_tag punctuation_definition_tag_end punctuation_definition_tag_end_html">&gt;</span><span class="punctuation punctuation_definition punctuation_definition_tag punctuation_definition_tag_begin punctuation_definition_tag_begin_html">&lt;</span><span class="entity entity_name entity_name_tag entity_name_tag_inline entity_name_tag_inline_any entity_name_tag_inline_any_html">a</span> <span class="entity entity_other entity_other_attribute-name entity_other_attribute-name_html">href</span>=<span class="string string_quoted string_quoted_double string_quoted_double_html"><span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_begin punctuation_definition_string_begin_html">"</span>#<span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_end punctuation_definition_string_end_html">"</span></span><span class="punctuation punctuation_definition punctuation_definition_tag punctuation_definition_tag_end punctuation_definition_tag_end_html">&gt;</span></span>a<span class="meta meta_tag meta_tag_inline meta_tag_inline_any meta_tag_inline_any_html"><span class="punctuation punctuation_definition punctuation_definition_tag punctuation_definition_tag_begin punctuation_definition_tag_begin_html">&lt;/</span><span class="entity entity_name entity_name_tag entity_name_tag_inline entity_name_tag_inline_any entity_name_tag_inline_any_html">a</span><span class="punctuation punctuation_definition punctuation_definition_tag punctuation_definition_tag_end punctuation_definition_tag_end_html">&gt;</span><span class="punctuation punctuation_definition punctuation_definition_tag punctuation_definition_tag_begin punctuation_definition_tag_begin_html">&lt;/</span><span class="entity entity_name entity_name_tag entity_name_tag_inline entity_name_tag_inline_any entity_name_tag_inline_any_html">li</span><span class="punctuation punctuation_definition punctuation_definition_tag punctuation_definition_tag_end punctuation_definition_tag_end_html">&gt;</span></span>
<span class='linenum'>    3</span>   <span class="meta meta_tag meta_tag_inline meta_tag_inline_any meta_tag_inline_any_html"><span class="punctuation punctuation_definition punctuation_definition_tag punctuation_definition_tag_begin punctuation_definition_tag_begin_html">&lt;</span><span class="entity entity_name entity_name_tag entity_name_tag_inline entity_name_tag_inline_any entity_name_tag_inline_any_html">li</span> <span class="meta meta_attribute-with-value meta_attribute-with-value_id meta_attribute-with-value_id_html"><span class="entity entity_other entity_other_attribute-name entity_other_attribute-name_id entity_other_attribute-name_id_html">id</span><span class="punctuation punctuation_separator punctuation_separator_key-value punctuation_separator_key-value_html">=</span><span class="string string_quoted string_quoted_double string_quoted_double_html"><span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_begin punctuation_definition_string_begin_html">"</span><span class="meta meta_toc-list meta_toc-list_id meta_toc-list_id_html">2</span><span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_end punctuation_definition_string_end_html">"</span></span></span><span class="punctuation punctuation_definition punctuation_definition_tag punctuation_definition_tag_end punctuation_definition_tag_end_html">&gt;</span><span class="punctuation punctuation_definition punctuation_definition_tag punctuation_definition_tag_begin punctuation_definition_tag_begin_html">&lt;</span><span class="entity entity_name entity_name_tag entity_name_tag_inline entity_name_tag_inline_any entity_name_tag_inline_any_html">a</span> <span class="entity entity_other entity_other_attribute-name entity_other_attribute-name_html">href</span>=<span class="string string_quoted string_quoted_double string_quoted_double_html"><span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_begin punctuation_definition_string_begin_html">"</span>#<span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_end punctuation_definition_string_end_html">"</span></span><span class="punctuation punctuation_definition punctuation_definition_tag punctuation_definition_tag_end punctuation_definition_tag_end_html">&gt;</span></span>a<span class="meta meta_tag meta_tag_inline meta_tag_inline_any meta_tag_inline_any_html"><span class="punctuation punctuation_definition punctuation_definition_tag punctuation_definition_tag_begin punctuation_definition_tag_begin_html">&lt;/</span><span class="entity entity_name entity_name_tag entity_name_tag_inline entity_name_tag_inline_any entity_name_tag_inline_any_html">a</span><span class="punctuation punctuation_definition punctuation_definition_tag punctuation_definition_tag_end punctuation_definition_tag_end_html">&gt;</span><span class="punctuation punctuation_definition punctuation_definition_tag punctuation_definition_tag_begin punctuation_definition_tag_begin_html">&lt;/</span><span class="entity entity_name entity_name_tag entity_name_tag_inline entity_name_tag_inline_any entity_name_tag_inline_any_html">li</span><span class="punctuation punctuation_definition punctuation_definition_tag punctuation_definition_tag_end punctuation_definition_tag_end_html">&gt;</span></span>
<span class='linenum'>    4</span>   <span class="meta meta_tag meta_tag_inline meta_tag_inline_any meta_tag_inline_any_html"><span class="punctuation punctuation_definition punctuation_definition_tag punctuation_definition_tag_begin punctuation_definition_tag_begin_html">&lt;</span><span class="entity entity_name entity_name_tag entity_name_tag_inline entity_name_tag_inline_any entity_name_tag_inline_any_html">li</span> <span class="meta meta_attribute-with-value meta_attribute-with-value_id meta_attribute-with-value_id_html"><span class="entity entity_other entity_other_attribute-name entity_other_attribute-name_id entity_other_attribute-name_id_html">id</span><span class="punctuation punctuation_separator punctuation_separator_key-value punctuation_separator_key-value_html">=</span><span class="string string_quoted string_quoted_double string_quoted_double_html"><span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_begin punctuation_definition_string_begin_html">"</span><span class="meta meta_toc-list meta_toc-list_id meta_toc-list_id_html">3</span><span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_end punctuation_definition_string_end_html">"</span></span></span><span class="punctuation punctuation_definition punctuation_definition_tag punctuation_definition_tag_end punctuation_definition_tag_end_html">&gt;</span><span class="punctuation punctuation_definition punctuation_definition_tag punctuation_definition_tag_begin punctuation_definition_tag_begin_html">&lt;</span><span class="entity entity_name entity_name_tag entity_name_tag_inline entity_name_tag_inline_any entity_name_tag_inline_any_html">a</span> <span class="entity entity_other entity_other_attribute-name entity_other_attribute-name_html">href</span>=<span class="string string_quoted string_quoted_double string_quoted_double_html"><span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_begin punctuation_definition_string_begin_html">"</span>#<span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_end punctuation_definition_string_end_html">"</span></span><span class="punctuation punctuation_definition punctuation_definition_tag punctuation_definition_tag_end punctuation_definition_tag_end_html">&gt;</span></span>a<span class="meta meta_tag meta_tag_inline meta_tag_inline_any meta_tag_inline_any_html"><span class="punctuation punctuation_definition punctuation_definition_tag punctuation_definition_tag_begin punctuation_definition_tag_begin_html">&lt;/</span><span class="entity entity_name entity_name_tag entity_name_tag_inline entity_name_tag_inline_any entity_name_tag_inline_any_html">a</span><span class="punctuation punctuation_definition punctuation_definition_tag punctuation_definition_tag_end punctuation_definition_tag_end_html">&gt;</span><span class="punctuation punctuation_definition punctuation_definition_tag punctuation_definition_tag_begin punctuation_definition_tag_begin_html">&lt;/</span><span class="entity entity_name entity_name_tag entity_name_tag_inline entity_name_tag_inline_any entity_name_tag_inline_any_html">li</span><span class="punctuation punctuation_definition punctuation_definition_tag punctuation_definition_tag_end punctuation_definition_tag_end_html">&gt;</span></span>
<span class='linenum'>    5</span>   <span class="meta meta_tag meta_tag_inline meta_tag_inline_any meta_tag_inline_any_html"><span class="punctuation punctuation_definition punctuation_definition_tag punctuation_definition_tag_begin punctuation_definition_tag_begin_html">&lt;</span><span class="entity entity_name entity_name_tag entity_name_tag_inline entity_name_tag_inline_any entity_name_tag_inline_any_html">li</span> <span class="meta meta_attribute-with-value meta_attribute-with-value_id meta_attribute-with-value_id_html"><span class="entity entity_other entity_other_attribute-name entity_other_attribute-name_id entity_other_attribute-name_id_html">id</span><span class="punctuation punctuation_separator punctuation_separator_key-value punctuation_separator_key-value_html">=</span><span class="string string_quoted string_quoted_double string_quoted_double_html"><span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_begin punctuation_definition_string_begin_html">"</span><span class="meta meta_toc-list meta_toc-list_id meta_toc-list_id_html">4</span><span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_end punctuation_definition_string_end_html">"</span></span></span><span class="punctuation punctuation_definition punctuation_definition_tag punctuation_definition_tag_end punctuation_definition_tag_end_html">&gt;</span><span class="punctuation punctuation_definition punctuation_definition_tag punctuation_definition_tag_begin punctuation_definition_tag_begin_html">&lt;</span><span class="entity entity_name entity_name_tag entity_name_tag_inline entity_name_tag_inline_any entity_name_tag_inline_any_html">a</span> <span class="entity entity_other entity_other_attribute-name entity_other_attribute-name_html">href</span>=<span class="string string_quoted string_quoted_double string_quoted_double_html"><span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_begin punctuation_definition_string_begin_html">"</span>#<span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_end punctuation_definition_string_end_html">"</span></span><span class="punctuation punctuation_definition punctuation_definition_tag punctuation_definition_tag_end punctuation_definition_tag_end_html">&gt;</span></span>a<span class="meta meta_tag meta_tag_inline meta_tag_inline_any meta_tag_inline_any_html"><span class="punctuation punctuation_definition punctuation_definition_tag punctuation_definition_tag_begin punctuation_definition_tag_begin_html">&lt;/</span><span class="entity entity_name entity_name_tag entity_name_tag_inline entity_name_tag_inline_any entity_name_tag_inline_any_html">a</span><span class="punctuation punctuation_definition punctuation_definition_tag punctuation_definition_tag_end punctuation_definition_tag_end_html">&gt;</span><span class="punctuation punctuation_definition punctuation_definition_tag punctuation_definition_tag_begin punctuation_definition_tag_begin_html">&lt;/</span><span class="entity entity_name entity_name_tag entity_name_tag_inline entity_name_tag_inline_any entity_name_tag_inline_any_html">li</span><span class="punctuation punctuation_definition punctuation_definition_tag punctuation_definition_tag_end punctuation_definition_tag_end_html">&gt;</span></span>
<span class='linenum'>    6</span>   <span class="meta meta_tag meta_tag_inline meta_tag_inline_any meta_tag_inline_any_html"><span class="punctuation punctuation_definition punctuation_definition_tag punctuation_definition_tag_begin punctuation_definition_tag_begin_html">&lt;</span><span class="entity entity_name entity_name_tag entity_name_tag_inline entity_name_tag_inline_any entity_name_tag_inline_any_html">li</span> <span class="meta meta_attribute-with-value meta_attribute-with-value_id meta_attribute-with-value_id_html"><span class="entity entity_other entity_other_attribute-name entity_other_attribute-name_id entity_other_attribute-name_id_html">id</span><span class="punctuation punctuation_separator punctuation_separator_key-value punctuation_separator_key-value_html">=</span><span class="string string_quoted string_quoted_double string_quoted_double_html"><span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_begin punctuation_definition_string_begin_html">"</span><span class="meta meta_toc-list meta_toc-list_id meta_toc-list_id_html">5</span><span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_end punctuation_definition_string_end_html">"</span></span></span><span class="punctuation punctuation_definition punctuation_definition_tag punctuation_definition_tag_end punctuation_definition_tag_end_html">&gt;</span><span class="punctuation punctuation_definition punctuation_definition_tag punctuation_definition_tag_begin punctuation_definition_tag_begin_html">&lt;</span><span class="entity entity_name entity_name_tag entity_name_tag_inline entity_name_tag_inline_any entity_name_tag_inline_any_html">a</span> <span class="entity entity_other entity_other_attribute-name entity_other_attribute-name_html">href</span>=<span class="string string_quoted string_quoted_double string_quoted_double_html"><span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_begin punctuation_definition_string_begin_html">"</span>#<span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_end punctuation_definition_string_end_html">"</span></span><span class="punctuation punctuation_definition punctuation_definition_tag punctuation_definition_tag_end punctuation_definition_tag_end_html">&gt;</span></span>a<span class="meta meta_tag meta_tag_inline meta_tag_inline_any meta_tag_inline_any_html"><span class="punctuation punctuation_definition punctuation_definition_tag punctuation_definition_tag_begin punctuation_definition_tag_begin_html">&lt;/</span><span class="entity entity_name entity_name_tag entity_name_tag_inline entity_name_tag_inline_any entity_name_tag_inline_any_html">a</span><span class="punctuation punctuation_definition punctuation_definition_tag punctuation_definition_tag_end punctuation_definition_tag_end_html">&gt;</span><span class="punctuation punctuation_definition punctuation_definition_tag punctuation_definition_tag_begin punctuation_definition_tag_begin_html">&lt;/</span><span class="entity entity_name entity_name_tag entity_name_tag_inline entity_name_tag_inline_any entity_name_tag_inline_any_html">li</span><span class="punctuation punctuation_definition punctuation_definition_tag punctuation_definition_tag_end punctuation_definition_tag_end_html">&gt;</span></span>
<span class='linenum'>    7</span> <span class="meta meta_tag meta_tag_block meta_tag_block_any meta_tag_block_any_html"><span class="punctuation punctuation_definition punctuation_definition_tag punctuation_definition_tag_begin punctuation_definition_tag_begin_html">&lt;/</span><span class="entity entity_name entity_name_tag entity_name_tag_block entity_name_tag_block_any entity_name_tag_block_any_html">ul</span><span class="punctuation punctuation_definition punctuation_definition_tag punctuation_definition_tag_end punctuation_definition_tag_end_html">&gt;</span></span></span></pre>

<p>Il css:</p>

<pre class="textmate-source"><span class='linenum'>    1</span> <span class="source source_css"><span class="meta meta_selector meta_selector_css"><span class="entity entity_other entity_other_attribute-name entity_other_attribute-name_class entity_other_attribute-name_class_css"><span class="punctuation punctuation_definition punctuation_definition_entity punctuation_definition_entity_css">.</span>lavalampfx</span> </span><span class="meta meta_property-list meta_property-list_css"><span class="punctuation punctuation_section punctuation_section_property-list punctuation_section_property-list_css">{</span><span class="meta meta_property-name meta_property-name_css"><span class="support support_type support_type_property-name support_type_property-name_css">width</span></span><span class="meta meta_property-value meta_property-value_css"><span class="punctuation punctuation_separator punctuation_separator_key-value punctuation_separator_key-value_css">:</span><span class="constant constant_numeric constant_numeric_css">500</span><span class="keyword keyword_other keyword_other_unit keyword_other_unit_css">px</span><span class="punctuation punctuation_terminator punctuation_terminator_rule punctuation_terminator_rule_css">;</span></span> <span class="meta meta_property-name meta_property-name_css"><span class="support support_type support_type_property-name support_type_property-name_css">overflow</span></span><span class="meta meta_property-value meta_property-value_css"><span class="punctuation punctuation_separator punctuation_separator_key-value punctuation_separator_key-value_css">:</span> <span class="support support_constant support_constant_property-value support_constant_property-value_css">hidden</span></span><span class="punctuation punctuation_section punctuation_section_property-list punctuation_section_property-list_css">}</span></span>
<span class='linenum'>    2</span> <span class="meta meta_selector meta_selector_css"><span class="entity entity_other entity_other_attribute-name entity_other_attribute-name_class entity_other_attribute-name_class_css"><span class="punctuation punctuation_definition punctuation_definition_entity punctuation_definition_entity_css">.</span>lavalampfx</span> <span class="entity entity_name entity_name_tag entity_name_tag_css">li</span> </span><span class="meta meta_property-list meta_property-list_css"><span class="punctuation punctuation_section punctuation_section_property-list punctuation_section_property-list_css">{</span><span class="meta meta_property-name meta_property-name_css"><span class="support support_type support_type_property-name support_type_property-name_css">float</span></span><span class="meta meta_property-value meta_property-value_css"><span class="punctuation punctuation_separator punctuation_separator_key-value punctuation_separator_key-value_css">:</span> <span class="support support_constant support_constant_property-value support_constant_property-value_css">left</span><span class="punctuation punctuation_terminator punctuation_terminator_rule punctuation_terminator_rule_css">;</span></span> <span class="meta meta_property-name meta_property-name_css"><span class="support support_type support_type_property-name support_type_property-name_css">list-style</span></span><span class="meta meta_property-value meta_property-value_css"><span class="punctuation punctuation_separator punctuation_separator_key-value punctuation_separator_key-value_css">:</span> <span class="support support_constant support_constant_property-value support_constant_property-value_css">none</span><span class="punctuation punctuation_terminator punctuation_terminator_rule punctuation_terminator_rule_css">;</span></span><span class="meta meta_property-name meta_property-name_css"><span class="support support_type support_type_property-name support_type_property-name_css">margin-right</span></span><span class="meta meta_property-value meta_property-value_css"><span class="punctuation punctuation_separator punctuation_separator_key-value punctuation_separator_key-value_css">:</span><span class="constant constant_numeric constant_numeric_css">17</span><span class="keyword keyword_other keyword_other_unit keyword_other_unit_css">px</span></span><span class="punctuation punctuation_section punctuation_section_property-list punctuation_section_property-list_css">}</span></span>
<span class='linenum'>    3</span> <span class="meta meta_selector meta_selector_css"><span class="entity entity_other entity_other_attribute-name entity_other_attribute-name_class entity_other_attribute-name_class_css"><span class="punctuation punctuation_definition punctuation_definition_entity punctuation_definition_entity_css">.</span>lavalampfx</span> <span class="entity entity_name entity_name_tag entity_name_tag_css">li</span><span class="entity entity_other entity_other_attribute-name entity_other_attribute-name_class entity_other_attribute-name_class_css"><span class="punctuation punctuation_definition punctuation_definition_entity punctuation_definition_entity_css">.</span>background</span> </span><span class="meta meta_property-list meta_property-list_css"><span class="punctuation punctuation_section punctuation_section_property-list punctuation_section_property-list_css">{</span><span class="meta meta_property-name meta_property-name_css"><span class="support support_type support_type_property-name support_type_property-name_css">background</span></span><span class="meta meta_property-value meta_property-value_css"><span class="punctuation punctuation_separator punctuation_separator_key-value punctuation_separator_key-value_css">:</span> <span class="support support_function support_function_misc support_function_misc_css">url</span><span class="punctuation punctuation_section punctuation_section_function punctuation_section_function_css">(</span><span class="string string_quoted string_quoted_double string_quoted_double_css"><span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_begin punctuation_definition_string_begin_css">"</span>lava.gif<span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_end punctuation_definition_string_end_css">"</span></span><span class="punctuation punctuation_section punctuation_section_function punctuation_section_function_css">)</span> <span class="support support_constant support_constant_property-value support_constant_property-value_css">no-repeat</span> <span class="support support_constant support_constant_property-value support_constant_property-value_css">right</span> <span class="constant constant_numeric constant_numeric_css">-30</span><span class="keyword keyword_other keyword_other_unit keyword_other_unit_css">px</span><span class="punctuation punctuation_terminator punctuation_terminator_rule punctuation_terminator_rule_css">;</span></span> <span class="meta meta_property-name meta_property-name_css"><span class="support support_type support_type_property-name support_type_property-name_css">width</span></span><span class="meta meta_property-value meta_property-value_css"><span class="punctuation punctuation_separator punctuation_separator_key-value punctuation_separator_key-value_css">:</span> <span class="constant constant_numeric constant_numeric_css">9</span><span class="keyword keyword_other keyword_other_unit keyword_other_unit_css">px</span><span class="punctuation punctuation_terminator punctuation_terminator_rule punctuation_terminator_rule_css">;</span></span> <span class="meta meta_property-name meta_property-name_css"><span class="support support_type support_type_property-name support_type_property-name_css">height</span></span><span class="meta meta_property-value meta_property-value_css"><span class="punctuation punctuation_separator punctuation_separator_key-value punctuation_separator_key-value_css">:</span> <span class="constant constant_numeric constant_numeric_css">30</span><span class="keyword keyword_other keyword_other_unit keyword_other_unit_css">px</span><span class="punctuation punctuation_terminator punctuation_terminator_rule punctuation_terminator_rule_css">;</span></span><span class="meta meta_property-name meta_property-name_css"><span class="support support_type support_type_property-name support_type_property-name_css">z-index</span></span><span class="meta meta_property-value meta_property-value_css"><span class="punctuation punctuation_separator punctuation_separator_key-value punctuation_separator_key-value_css">:</span> <span class="constant constant_numeric constant_numeric_css">8</span><span class="punctuation punctuation_terminator punctuation_terminator_rule punctuation_terminator_rule_css">;</span></span><span class="meta meta_property-name meta_property-name_css"><span class="support support_type support_type_property-name support_type_property-name_css">position</span></span><span class="meta meta_property-value meta_property-value_css"><span class="punctuation punctuation_separator punctuation_separator_key-value punctuation_separator_key-value_css">:</span> <span class="support support_constant support_constant_property-value support_constant_property-value_css">absolute</span></span><span class="punctuation punctuation_section punctuation_section_property-list punctuation_section_property-list_css">}</span></span>
<span class='linenum'>    4</span> <span class="meta meta_selector meta_selector_css"><span class="entity entity_other entity_other_attribute-name entity_other_attribute-name_class entity_other_attribute-name_class_css"><span class="punctuation punctuation_definition punctuation_definition_entity punctuation_definition_entity_css">.</span>lavalampfx</span> <span class="entity entity_name entity_name_tag entity_name_tag_css">li</span><span class="entity entity_other entity_other_attribute-name entity_other_attribute-name_class entity_other_attribute-name_class_css"><span class="punctuation punctuation_definition punctuation_definition_entity punctuation_definition_entity_css">.</span>background</span> <span class="entity entity_other entity_other_attribute-name entity_other_attribute-name_class entity_other_attribute-name_class_css"><span class="punctuation punctuation_definition punctuation_definition_entity punctuation_definition_entity_css">.</span>left</span> </span><span class="meta meta_property-list meta_property-list_css"><span class="punctuation punctuation_section punctuation_section_property-list punctuation_section_property-list_css">{</span> <span class="meta meta_property-name meta_property-name_css"><span class="support support_type support_type_property-name support_type_property-name_css">background</span></span><span class="meta meta_property-value meta_property-value_css"><span class="punctuation punctuation_separator punctuation_separator_key-value punctuation_separator_key-value_css">:</span> <span class="support support_function support_function_misc support_function_misc_css">url</span><span class="punctuation punctuation_section punctuation_section_function punctuation_section_function_css">(</span><span class="string string_quoted string_quoted_double string_quoted_double_css"><span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_begin punctuation_definition_string_begin_css">"</span>lava.gif<span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_end punctuation_definition_string_end_css">"</span></span><span class="punctuation punctuation_section punctuation_section_function punctuation_section_function_css">)</span> <span class="support support_constant support_constant_property-value support_constant_property-value_css">no-repeat</span> <span class="support support_constant support_constant_property-value support_constant_property-value_css">top</span> <span class="support support_constant support_constant_property-value support_constant_property-value_css">left</span><span class="punctuation punctuation_terminator punctuation_terminator_rule punctuation_terminator_rule_css">;</span></span><span class="meta meta_property-name meta_property-name_css"><span class="support support_type support_type_property-name support_type_property-name_css">height</span></span><span class="meta meta_property-value meta_property-value_css"><span class="punctuation punctuation_separator punctuation_separator_key-value punctuation_separator_key-value_css">:</span> <span class="constant constant_numeric constant_numeric_css">30</span><span class="keyword keyword_other keyword_other_unit keyword_other_unit_css">px</span><span class="punctuation punctuation_terminator punctuation_terminator_rule punctuation_terminator_rule_css">;</span></span><span class="meta meta_property-name meta_property-name_css"><span class="support support_type support_type_property-name support_type_property-name_css">margin-right</span></span><span class="meta meta_property-value meta_property-value_css"><span class="punctuation punctuation_separator punctuation_separator_key-value punctuation_separator_key-value_css">:</span> <span class="constant constant_numeric constant_numeric_css">9</span><span class="keyword keyword_other keyword_other_unit keyword_other_unit_css">px</span></span><span class="punctuation punctuation_section punctuation_section_property-list punctuation_section_property-list_css">}</span></span>
<span class='linenum'>    5</span> <span class="meta meta_selector meta_selector_css"><span class="entity entity_other entity_other_attribute-name entity_other_attribute-name_class entity_other_attribute-name_class_css"><span class="punctuation punctuation_definition punctuation_definition_entity punctuation_definition_entity_css">.</span>lavalampfx</span> <span class="entity entity_name entity_name_tag entity_name_tag_css">li</span> <span class="entity entity_name entity_name_tag entity_name_tag_css">a</span> </span><span class="meta meta_property-list meta_property-list_css"><span class="punctuation punctuation_section punctuation_section_property-list punctuation_section_property-list_css">{</span><span class="meta meta_property-name meta_property-name_css"><span class="support support_type support_type_property-name support_type_property-name_css">color</span></span><span class="meta meta_property-value meta_property-value_css"><span class="punctuation punctuation_separator punctuation_separator_key-value punctuation_separator_key-value_css">:</span> <span class="constant constant_other constant_other_color constant_other_color_rgb-value constant_other_color_rgb-value_css"><span class="punctuation punctuation_definition punctuation_definition_constant punctuation_definition_constant_css">#</span>fff</span><span class="punctuation punctuation_terminator punctuation_terminator_rule punctuation_terminator_rule_css">;</span></span><span class="meta meta_property-name meta_property-name_css"><span class="support support_type support_type_property-name support_type_property-name_css">z-index</span></span><span class="meta meta_property-value meta_property-value_css"><span class="punctuation punctuation_separator punctuation_separator_key-value punctuation_separator_key-value_css">:</span> <span class="constant constant_numeric constant_numeric_css">10</span><span class="punctuation punctuation_terminator punctuation_terminator_rule punctuation_terminator_rule_css">;</span></span><span class="meta meta_property-name meta_property-name_css"><span class="support support_type support_type_property-name support_type_property-name_css">position</span></span><span class="meta meta_property-value meta_property-value_css"><span class="punctuation punctuation_separator punctuation_separator_key-value punctuation_separator_key-value_css">:</span> <span class="support support_constant support_constant_property-value support_constant_property-value_css">relative</span><span class="punctuation punctuation_terminator punctuation_terminator_rule punctuation_terminator_rule_css">;</span></span><span class="meta meta_property-name meta_property-name_css"><span class="support support_type support_type_property-name support_type_property-name_css">top</span></span><span class="meta meta_property-value meta_property-value_css"><span class="punctuation punctuation_separator punctuation_separator_key-value punctuation_separator_key-value_css">:</span><span class="constant constant_numeric constant_numeric_css">5</span><span class="keyword keyword_other keyword_other_unit keyword_other_unit_css">px</span><span class="punctuation punctuation_terminator punctuation_terminator_rule punctuation_terminator_rule_css">;</span></span><span class="meta meta_property-name meta_property-name_css"><span class="support support_type support_type_property-name support_type_property-name_css">margin</span></span><span class="meta meta_property-value meta_property-value_css"><span class="punctuation punctuation_separator punctuation_separator_key-value punctuation_separator_key-value_css">:</span><span class="constant constant_numeric constant_numeric_css">0 7</span><span class="keyword keyword_other keyword_other_unit keyword_other_unit_css">px</span></span><span class="punctuation punctuation_section punctuation_section_property-list punctuation_section_property-list_css">}</span></span></span></pre>

<p>Il file <a href="wp-content/uploads/2009/07/lava.gif">lava.gif</a> è la caramella che starà intorno al menu.</p>

<p><a href="http://www.extendi.it/ruby-on-rails/wp-content/uploads/2009/07/lava.gif"><img src="http://www.extendi.it/ruby-on-rails/wp-content/uploads/2009/07/lava.gif" alt="lava" title="lava" width="200" height="60" class="aligncenter size-full wp-image-873" /></a></p>

<p>Qui non si vede l&#8217;animazione ma vi assicuro che funziona con safari 4, firefox 3.5, explorer 7 (con gli altri browser non l&#8217;ho testato, ma credo funzioni!)
<a href="http://www.extendi.it/ruby-on-rails/wp-content/uploads/2009/07/picture-2.png"><img src="http://www.extendi.it/ruby-on-rails/wp-content/uploads/2009/07/picture-2-300x121.png" alt="picture-2" title="picture-2" width="300" height="121" class="aligncenter size-medium wp-image-875" /></a></p>

<p><a href="http://feedads.g.doubleclick.net/~a/MuM8OvQrvlO6npRpmEN6iJL0p7k/0/da"><img src="http://feedads.g.doubleclick.net/~a/MuM8OvQrvlO6npRpmEN6iJL0p7k/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/MuM8OvQrvlO6npRpmEN6iJL0p7k/1/da"><img src="http://feedads.g.doubleclick.net/~a/MuM8OvQrvlO6npRpmEN6iJL0p7k/1/di" border="0" ismap="true"></img></a></p><img src="http://feeds.feedburner.com/~r/rails-on-the-road/~4/4Ysfn-A8kjI" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.extendi.it/ruby-on-rails/index.php/2009/07/30/morphlist-o-lavalamp-per-prototype/feed/</wfw:commentRss>
		<feedburner:origLink>http://www.extendi.it/ruby-on-rails/index.php/2009/07/30/morphlist-o-lavalamp-per-prototype/</feedburner:origLink></item>
		<item>
		<title>Rails embedded actions</title>
		<link>http://feedproxy.google.com/~r/rails-on-the-road/~3/YQUQntSbW8Y/</link>
		<comments>http://www.extendi.it/ruby-on-rails/index.php/2009/07/21/rails-embedded-actions/#comments</comments>
		<pubDate>Tue, 21 Jul 2009 09:58:21 +0000</pubDate>
		<dc:creator>silvio</dc:creator>
		
		<category><![CDATA[Rails Snippet]]></category>

		<category><![CDATA[Risorse]]></category>

		<category><![CDATA[Tutorial]]></category>

		<category><![CDATA[plugin]]></category>

		<guid isPermaLink="false">http://www.extendi.it/ruby-on-rails/?p=844</guid>
		<description><![CDATA[Investigando le alternative a render_component, tempo fa abbiamo parlato di Cells, mentre oggi vediamo embedded-actions.

Embedded-actions plugin è del tutto simile a render_component, ma pulito, ottimizzato e pienamente supportato da Rails 2.3.x!

Il plugin serve per integrare in maniera semplice e veloce il risultato di un&#8217;azione di un controllore qualsiasi all&#8217;interno di una vista.

Ad esempio se all&#8217;interno [...]]]></description>
			<content:encoded><![CDATA[<p>Investigando le alternative a <a title="render_component" href="http://api.rubyonrails.org/classes/ActionController/Components.html">render_component</a>, <a title="cells" href="http://www.extendi.it/ruby-on-rails/index.php/2009/04/03/cells-component-per-rails/">tempo fa</a> abbiamo parlato di <a title="cells" href="http://cells.rubyforge.org/">Cells</a>, mentre oggi vediamo <a title="embedded-actions" href="http://wiki.github.com/sd/embedded-actions">embedded-actions</a>.</p>

<p>Embedded-actions plugin è del tutto simile a render_component, ma pulito, ottimizzato e pienamente supportato da Rails 2.3.x!</p>

<p>Il <a title="plugin" href="http://github.com/sd/embedded-actions/tree/master">plugin</a> serve per integrare in maniera semplice e veloce il risultato di un&#8217;azione di un controllore qualsiasi all&#8217;interno di una vista.</p>

<p>Ad esempio se all&#8217;interno di una vista con l&#8217;index dei prodotti di un negozio volessimo visualizzare le offerte su certi tipi di spedizione (quindi un&#8217;azione di un controllore diverso da quello dei prodotti), basterebbe inserire nella sidebar:</p>

<pre class="textmate-source"><span class="linenum">    1</span> <span class="text text_plain"><span class="meta meta_paragraph meta_paragraph_text">&lt;div class='sidebar'&gt;
</span><span class="linenum">    2</span>   <span class="meta meta_paragraph meta_paragraph_text">&lt;%= embed_action :controller =&gt; "shipping", :action =&gt; "promotion" %&gt;
<span class="linenum">    3</span> &lt;/div&gt;</span></span></pre>

<p>A differenza di Cells, embedded-actions permette di riutilizzare il codice dei controllori già esistenti, senza creare duplicazioni. Inoltre embedded-actions permette di utilizzare tutte le 4 azioni CRUD, consentendoci non solo di renderizzare un output (come Cells), ma anche di editare, inserire e cancellare elementi.</p>

<p>Le embedded-actions possono ricevere parametri come un normale hash di opzioni:</p>

<pre class="textmate-source"><span class="linenum">    1</span> <span class="text text_plain"><span class="meta meta_paragraph meta_paragraph_text">&lt;%= embed_action(:controller =&gt; "cart", :action =&gt; "index", :params =&gt; params) %&gt;</span></span></pre>

<p>Infine il caching è attivabile con una semplice riga nel controller:</p>

<pre class="textmate-source"><span class="linenum">    1</span> <span class="text text_plain"><span class="meta meta_paragraph meta_paragraph_text">caches_embedded :shipping, :ttl =&gt; 30.minutes</span></span></pre>

<p>Il plugin ha comunque qualche controindicazione: per ogni embedded-action viene istanziato un nuovo controller e le variabili d&#8217;istanza non sono condivise tra il controllore &#8220;padre&#8221; e l&#8217;embedded-action, quindi per effettuare un semplice render Cells rimane comunque più veloce e leggero.</p>

<p><a href="http://feedads.g.doubleclick.net/~a/8l99gtwiJj_PsCqamEI12Cf_2p8/0/da"><img src="http://feedads.g.doubleclick.net/~a/8l99gtwiJj_PsCqamEI12Cf_2p8/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/8l99gtwiJj_PsCqamEI12Cf_2p8/1/da"><img src="http://feedads.g.doubleclick.net/~a/8l99gtwiJj_PsCqamEI12Cf_2p8/1/di" border="0" ismap="true"></img></a></p><img src="http://feeds.feedburner.com/~r/rails-on-the-road/~4/YQUQntSbW8Y" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.extendi.it/ruby-on-rails/index.php/2009/07/21/rails-embedded-actions/feed/</wfw:commentRss>
		<feedburner:origLink>http://www.extendi.it/ruby-on-rails/index.php/2009/07/21/rails-embedded-actions/</feedburner:origLink></item>
		<item>
		<title>TDD: Test Driven Development</title>
		<link>http://feedproxy.google.com/~r/rails-on-the-road/~3/ahacuWEVekg/</link>
		<comments>http://www.extendi.it/ruby-on-rails/index.php/2009/07/13/tdd-test-driven-development/#comments</comments>
		<pubDate>Mon, 13 Jul 2009 08:09:19 +0000</pubDate>
		<dc:creator>duccio</dc:creator>
		
		<category><![CDATA[Rails Snippet]]></category>

		<category><![CDATA[Risorse]]></category>

		<guid isPermaLink="false">http://www.extendi.it/ruby-on-rails/?p=836</guid>
		<description><![CDATA[Noel Rappin ha pubblicato Rails Test Prescriptions una guida PDF sul testing in RAILS veramente utile. Potete scaricare anche Getting Started With Rails Testing , una preview di 84 pagine, fare l&#8217;upgrade alla guida completa di 286 pagine costa solo 9£ e la potete comprare su lulu.

Se non avete mai usato i test e volete [...]]]></description>
			<content:encoded><![CDATA[<p>Noel Rappin ha pubblicato <a href="http://www.railsrx.com/">Rails Test Prescriptions</a> una guida PDF sul testing in RAILS veramente utile. Potete scaricare anche <a href="http://www.railsrx.com/pdf/getting_started.pdf">Getting Started With Rails Testing </a>, una preview di 84 pagine, fare l&#8217;upgrade alla guida completa di 286 pagine costa solo 9£ e la potete comprare su <a href="http://www.lulu.com/content/e-book/rails_test_prescriptions/6418439">lulu</a>.</p>

<p>Se non avete mai usato i test e volete imparare le tecniche migliori questo tutorial non è niente male, ci sono molti esempi pratici da seguire per scrivere i vostri test.</p>

<p><img src="http://www.extendi.it/ruby-on-rails/wp-content/uploads/2009/07/picture-1-300x202.png" alt="picture-1" title="picture-1" width="300" height="202" class="aligncenter size-medium wp-image-838" /></p>

<p><a href="http://feedads.g.doubleclick.net/~a/4INOm48L5n2Mt8okxHjc2TZCMWw/0/da"><img src="http://feedads.g.doubleclick.net/~a/4INOm48L5n2Mt8okxHjc2TZCMWw/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/4INOm48L5n2Mt8okxHjc2TZCMWw/1/da"><img src="http://feedads.g.doubleclick.net/~a/4INOm48L5n2Mt8okxHjc2TZCMWw/1/di" border="0" ismap="true"></img></a></p><img src="http://feeds.feedburner.com/~r/rails-on-the-road/~4/ahacuWEVekg" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.extendi.it/ruby-on-rails/index.php/2009/07/13/tdd-test-driven-development/feed/</wfw:commentRss>
		<feedburner:origLink>http://www.extendi.it/ruby-on-rails/index.php/2009/07/13/tdd-test-driven-development/</feedburner:origLink></item>
		<item>
		<title>Subacquea</title>
		<link>http://feedproxy.google.com/~r/rails-on-the-road/~3/uLlV-94C380/</link>
		<comments>http://www.extendi.it/ruby-on-rails/index.php/2009/07/10/subacquea/#comments</comments>
		<pubDate>Fri, 10 Jul 2009 14:06:26 +0000</pubDate>
		<dc:creator>duccio</dc:creator>
		
		<category><![CDATA[Altro]]></category>

		<guid isPermaLink="false">http://www.extendi.it/ruby-on-rails/?p=832</guid>
		<description><![CDATA[

Per chi di voi è un appassionato di subacquea (forse nessuno :-)) è online il blog del club Abissi, ci saranno le uscite, le cene ma anche articoli interessanti sulle attrezzature, i viaggi, la fisica e la chimica dell&#8217;immersione. 
]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.extendi.it/ruby-on-rails/wp-content/uploads/2009/07/picture-3-300x197.png" alt="picture-3" title="picture-3" width="300" height="197" class="aligncenter size-medium wp-image-833" /></p>

<p>Per chi di voi è un appassionato di subacquea (forse nessuno :-)) è online il blog del <a href="http://www.abissiclub.com">club Abissi</a>, ci saranno le uscite, le cene ma anche articoli interessanti sulle attrezzature, i viaggi, la fisica e la chimica dell&#8217;immersione. </p>

<p><a href="http://feedads.g.doubleclick.net/~a/PC-KAXGwyu5qR7s5gsZITEjEK9E/0/da"><img src="http://feedads.g.doubleclick.net/~a/PC-KAXGwyu5qR7s5gsZITEjEK9E/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/PC-KAXGwyu5qR7s5gsZITEjEK9E/1/da"><img src="http://feedads.g.doubleclick.net/~a/PC-KAXGwyu5qR7s5gsZITEjEK9E/1/di" border="0" ismap="true"></img></a></p><img src="http://feeds.feedburner.com/~r/rails-on-the-road/~4/uLlV-94C380" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.extendi.it/ruby-on-rails/index.php/2009/07/10/subacquea/feed/</wfw:commentRss>
		<feedburner:origLink>http://www.extendi.it/ruby-on-rails/index.php/2009/07/10/subacquea/</feedburner:origLink></item>
		<item>
		<title>Configurare applicazioni Rails in automatico</title>
		<link>http://feedproxy.google.com/~r/rails-on-the-road/~3/GwpJg9QQLpM/</link>
		<comments>http://www.extendi.it/ruby-on-rails/index.php/2009/07/07/configurare-applicazioni-rails-in-automatico/#comments</comments>
		<pubDate>Tue, 07 Jul 2009 09:05:18 +0000</pubDate>
		<dc:creator>duccio</dc:creator>
		
		<category><![CDATA[Rails Snippet]]></category>

		<category><![CDATA[Risorse]]></category>

		<guid isPermaLink="false">http://www.extendi.it/ruby-on-rails/?p=827</guid>
		<description><![CDATA[Lo script non è nuovo deriva da quello di fiveruns per configurare rails su Slicehost.

Questo script  configura automaticamente in remoto una prima istallazione di Linux in un ambiente di produzione per Ruby on Rails, vengono anche installati Spree, jobberRails, Radian e El Dorado.
]]></description>
			<content:encoded><![CDATA[<p>Lo script non è nuovo deriva da quello di <a href="http://blog.fiveruns.com/2008/9/24/rails-automation-at-slicehost">fiveruns</a> per configurare rails su <a href="http://www.slicehost.com/">Slicehost</a>.</p>

<p><a href="http://github.com/mmond/configuration-automation/tree/master">Questo script</a>  configura automaticamente in remoto una prima istallazione di Linux in un ambiente di produzione per Ruby on Rails, vengono anche installati <a href="http://spreehq.org/">Spree</a>, <a href="http://jobberrails.comingsoooon.com/">jobberRails</a>, Radian e <a href="http://almosteffortless.com/eldorado/">El Dorado</a>.</p>

<p><a href="http://feedads.g.doubleclick.net/~a/kXkxq60VzULJSeyDyuQTxZxMNFo/0/da"><img src="http://feedads.g.doubleclick.net/~a/kXkxq60VzULJSeyDyuQTxZxMNFo/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/kXkxq60VzULJSeyDyuQTxZxMNFo/1/da"><img src="http://feedads.g.doubleclick.net/~a/kXkxq60VzULJSeyDyuQTxZxMNFo/1/di" border="0" ismap="true"></img></a></p><img src="http://feeds.feedburner.com/~r/rails-on-the-road/~4/GwpJg9QQLpM" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.extendi.it/ruby-on-rails/index.php/2009/07/07/configurare-applicazioni-rails-in-automatico/feed/</wfw:commentRss>
		<feedburner:origLink>http://www.extendi.it/ruby-on-rails/index.php/2009/07/07/configurare-applicazioni-rails-in-automatico/</feedburner:origLink></item>
		<item>
		<title>Hirb: per migliorare l’output di irb</title>
		<link>http://feedproxy.google.com/~r/rails-on-the-road/~3/ceXRzXen8Mo/</link>
		<comments>http://www.extendi.it/ruby-on-rails/index.php/2009/06/30/hirb-per-migliorare-loutput-di-irb/#comments</comments>
		<pubDate>Tue, 30 Jun 2009 12:55:02 +0000</pubDate>
		<dc:creator>duccio</dc:creator>
		
		<category><![CDATA[Risorse]]></category>

		<guid isPermaLink="false">http://www.extendi.it/ruby-on-rails/?p=814</guid>
		<description><![CDATA[Hirb migliora l&#8217;output di irb, quando siete in console l&#8217;output non è molto leggibile, con hirb la situazione cambia.

Lo installate come gemma, e per utilizzarlo in console basta fare require &#8216;hirb&#8217; e abilitarlo con hirb.enable.

    1 gem install cldwalker-hirb --source http://gems.github.com

Se provate a fare ad esempio un Tag.find(:all, :limit => 5) vedrete [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://tagaholic.me/hirb/">Hirb</a> migliora l&#8217;output di irb, quando siete in console l&#8217;output non è molto leggibile, con hirb la situazione cambia.</p>

<p>Lo installate come gemma, e per utilizzarlo in console basta fare <strong>require &#8216;hirb&#8217;</strong> e abilitarlo con <strong>hirb.enable</strong>.</p>

<pre class="textmate-source"><span class='linenum'>    1</span> <span class="source source_shell">gem install cldwalker-hirb --<span class="support support_function support_function_builtin support_function_builtin_shell">source</span> http://gems.github.com</span></pre>

<p>Se provate a fare ad esempio un <strong>Tag.find(:all, :limit => 5)</strong> vedrete i risultati in forma tabellare:</p>

<p><img src="http://www.extendi.it/ruby-on-rails/wp-content/uploads/2009/06/picture-11.png" alt="picture-11" title="picture-11" width="434" height="239" class="alignnone size-full wp-image-818" /></p>

<p>Date un occhio alla <a href="http://tagaholic.me/hirb/doc/index.html">documentazione</a>.</p>

<p><a href="http://feedads.g.doubleclick.net/~a/qjp1RFWrDEAJQFVOEh1animrx6g/0/da"><img src="http://feedads.g.doubleclick.net/~a/qjp1RFWrDEAJQFVOEh1animrx6g/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/qjp1RFWrDEAJQFVOEh1animrx6g/1/da"><img src="http://feedads.g.doubleclick.net/~a/qjp1RFWrDEAJQFVOEh1animrx6g/1/di" border="0" ismap="true"></img></a></p><img src="http://feeds.feedburner.com/~r/rails-on-the-road/~4/ceXRzXen8Mo" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.extendi.it/ruby-on-rails/index.php/2009/06/30/hirb-per-migliorare-loutput-di-irb/feed/</wfw:commentRss>
		<feedburner:origLink>http://www.extendi.it/ruby-on-rails/index.php/2009/06/30/hirb-per-migliorare-loutput-di-irb/</feedburner:origLink></item>
		<item>
		<title>Rails Magazine: fine articles on Ruby &amp; Rails</title>
		<link>http://feedproxy.google.com/~r/rails-on-the-road/~3/RjLW4BhgtJ0/</link>
		<comments>http://www.extendi.it/ruby-on-rails/index.php/2009/06/26/rails-magazine-fine-articles-on-ruby-rails/#comments</comments>
		<pubDate>Fri, 26 Jun 2009 13:20:10 +0000</pubDate>
		<dc:creator>duccio</dc:creator>
		
		<category><![CDATA[Rails Snippet]]></category>

		<category><![CDATA[Risorse]]></category>

		<guid isPermaLink="false">http://www.extendi.it/ruby-on-rails/?p=809</guid>
		<description><![CDATA[La versione pdf è gratuita potete scaricare già il primo e il secondo numero, esce 15 giorni dopo la pubblicazione della versione cartacea.
Date un occhio a railsmagazine, qualche articolo è interessante!


]]></description>
			<content:encoded><![CDATA[<p>La versione pdf è gratuita potete scaricare già il <a href="http://railsmagazine.com/issues/1">primo</a> e il <a href="http://railsmagazine.com/issues/2">secondo</a> numero, esce 15 giorni dopo la pubblicazione della versione cartacea.
Date un occhio a <a href="http://railsmagazine.com/">railsmagazine</a>, qualche articolo è interessante!</p>

<p><img src="http://www.extendi.it/ruby-on-rails/wp-content/uploads/2009/06/picture-1-230x300.png" alt="picture-1" title="picture-1" width="230" height="300" class="alignnone size-medium wp-image-810" /></p>

<p><a href="http://feedads.g.doubleclick.net/~a/UJ5LQz0oo7O3hohYDbrnVuvoPMM/0/da"><img src="http://feedads.g.doubleclick.net/~a/UJ5LQz0oo7O3hohYDbrnVuvoPMM/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/UJ5LQz0oo7O3hohYDbrnVuvoPMM/1/da"><img src="http://feedads.g.doubleclick.net/~a/UJ5LQz0oo7O3hohYDbrnVuvoPMM/1/di" border="0" ismap="true"></img></a></p><img src="http://feeds.feedburner.com/~r/rails-on-the-road/~4/RjLW4BhgtJ0" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.extendi.it/ruby-on-rails/index.php/2009/06/26/rails-magazine-fine-articles-on-ruby-rails/feed/</wfw:commentRss>
		<feedburner:origLink>http://www.extendi.it/ruby-on-rails/index.php/2009/06/26/rails-magazine-fine-articles-on-ruby-rails/</feedburner:origLink></item>
		<item>
		<title>Open Flash Chart 2 Plugin</title>
		<link>http://feedproxy.google.com/~r/rails-on-the-road/~3/hctbwl1ttmA/</link>
		<comments>http://www.extendi.it/ruby-on-rails/index.php/2009/05/14/open-flash-chart-2-plugin-e-temi/#comments</comments>
		<pubDate>Thu, 14 May 2009 07:56:29 +0000</pubDate>
		<dc:creator>duccio</dc:creator>
		
		<category><![CDATA[Mac]]></category>

		<category><![CDATA[Rails Snippet]]></category>

		<guid isPermaLink="false">http://www.extendi.it/ruby-on-rails/?p=791</guid>
		<description><![CDATA[Open Flash Chart 2 è un plugin rails per generare grafici con open flash chart librerie flash per generare gafici come torte, barre, linee, aree, animati e con i tooltip.



Lavorandoci mi sono accorto che non c&#8217;è una gestione dei temi, per ogni grafico si devono ridefinire gli stili, per questo sto facendo una piccola libreria [...]]]></description>
			<content:encoded><![CDATA[<p>Open Flash Chart 2 è un <a href="http://pullmonkey.com/projects/open_flash_chart2/">plugin rails</a> per generare grafici con <a href="http://teethgrinder.co.uk/open-flash-chart-2/">open flash chart</a> librerie flash per generare gafici come torte, barre, linee, aree, animati e con i tooltip.</p>

<p><img src="http://www.extendi.it/ruby-on-rails/wp-content/uploads/2009/05/picture-2-300x150.png" alt="picture-2" title="picture-2" width="300" height="150" class="alignnone size-medium wp-image-801" /></p>

<p>Lavorandoci mi sono accorto che non c&#8217;è una gestione dei temi, per ogni grafico si devono ridefinire gli stili, per questo sto facendo una piccola libreria per creare e assegnare un tema. Se qualcuno di voi l&#8217;avesse già trovata o fatta ditemelo che vi linko subito ;-).</p>

<p><a href="http://feedads.g.doubleclick.net/~a/Q_4AsK8kaohMINP1dwBYkWjtr1k/0/da"><img src="http://feedads.g.doubleclick.net/~a/Q_4AsK8kaohMINP1dwBYkWjtr1k/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/Q_4AsK8kaohMINP1dwBYkWjtr1k/1/da"><img src="http://feedads.g.doubleclick.net/~a/Q_4AsK8kaohMINP1dwBYkWjtr1k/1/di" border="0" ismap="true"></img></a></p><img src="http://feeds.feedburner.com/~r/rails-on-the-road/~4/hctbwl1ttmA" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.extendi.it/ruby-on-rails/index.php/2009/05/14/open-flash-chart-2-plugin-e-temi/feed/</wfw:commentRss>
		<feedburner:origLink>http://www.extendi.it/ruby-on-rails/index.php/2009/05/14/open-flash-chart-2-plugin-e-temi/</feedburner:origLink></item>
		<item>
		<title>Ruby Enterprise Edition e Debian Lenny</title>
		<link>http://feedproxy.google.com/~r/rails-on-the-road/~3/R8VIuxFQRlc/</link>
		<comments>http://www.extendi.it/ruby-on-rails/index.php/2009/04/24/ruby-enterprise-edition-e-debian-lenny/#comments</comments>
		<pubDate>Fri, 24 Apr 2009 14:10:44 +0000</pubDate>
		<dc:creator>matte</dc:creator>
		
		<category><![CDATA[Configurazioni]]></category>

		<guid isPermaLink="false">http://www.extendi.it/ruby-on-rails/?p=786</guid>
		<description><![CDATA[Oggi ho installato Ruby Enterprise Edition su una macchina Debian.

In pratica Ruby Enterprise ha il proprio repositorio di gemme quindi vanno reinstallate tutte anche se già le avete all&#8217;interno del sistema. Tutto procede bene tranne che per gemme dipendenti da librerie di sistema come RMagick ed il MySQL adapter.

Per installare rmagick basta lanciare i comandi:

apt-get [...]]]></description>
			<content:encoded><![CDATA[<p>Oggi ho installato Ruby Enterprise Edition su una macchina Debian.</p>

<p>In pratica Ruby Enterprise ha il proprio repositorio di gemme quindi vanno reinstallate tutte anche se già le avete all&#8217;interno del sistema. Tutto procede bene tranne che per gemme dipendenti da librerie di sistema come RMagick ed il MySQL adapter.</p>

<p>Per installare rmagick basta lanciare i comandi:</p>

<pre><code>apt-get install libmagick9-dev
gem install rmagick
</code></pre>

<p>Per quanto riguarda il MySQL adapter:</p>

<pre><code>gem install mysql -- --with-mysql-config=/path/to/mysql_config
</code></pre>

<p>Nel caso Debian:</p>

<pre><code>gem install mysql -- --with-mysql-config=/usr/bin/mysql_config
</code></pre>

<p><a href="http://feedads.g.doubleclick.net/~a/mBaXy2V40p5FpDJgFo1sWCIOF8o/0/da"><img src="http://feedads.g.doubleclick.net/~a/mBaXy2V40p5FpDJgFo1sWCIOF8o/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/mBaXy2V40p5FpDJgFo1sWCIOF8o/1/da"><img src="http://feedads.g.doubleclick.net/~a/mBaXy2V40p5FpDJgFo1sWCIOF8o/1/di" border="0" ismap="true"></img></a></p><img src="http://feeds.feedburner.com/~r/rails-on-the-road/~4/R8VIuxFQRlc" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.extendi.it/ruby-on-rails/index.php/2009/04/24/ruby-enterprise-edition-e-debian-lenny/feed/</wfw:commentRss>
		<feedburner:origLink>http://www.extendi.it/ruby-on-rails/index.php/2009/04/24/ruby-enterprise-edition-e-debian-lenny/</feedburner:origLink></item>
		<item>
		<title>Ruby: public_instance_methods</title>
		<link>http://feedproxy.google.com/~r/rails-on-the-road/~3/dKhTRwWIl4A/</link>
		<comments>http://www.extendi.it/ruby-on-rails/index.php/2009/04/21/ruby-public_instance_methods/#comments</comments>
		<pubDate>Tue, 21 Apr 2009 13:49:27 +0000</pubDate>
		<dc:creator>duccio</dc:creator>
		
		<category><![CDATA[Altro]]></category>

		<guid isPermaLink="false">http://www.extendi.it/ruby-on-rails/?p=771</guid>
		<description><![CDATA[Su Ruby Doc di ruby 1.8.6 potete vedere che i public_instance_methods prevedono di default l&#8217;inclusione dei metodi della classe da cui derivano. Quindi se volete i metodi di un controllore, visto che derivano da ApplicationController, vi ritrovate tutti i metodi del padre. Per evitare il problema:

    1      [...]]]></description>
			<content:encoded><![CDATA[<p>Su <a href="http://www.ruby-doc.org/">Ruby Doc</a> di <a href="http://www.ruby-doc.org/core/">ruby 1.8.6</a> potete vedere che i <a href="http://www.ruby-doc.org/core/classes/Module.html#M001707">public_instance_methods</a> prevedono di default l&#8217;inclusione dei metodi della classe da cui derivano. Quindi se volete i metodi di un controllore, visto che derivano da <strong>ApplicationController</strong>, vi ritrovate tutti i metodi del padre. Per evitare il problema:</p>

<pre class="textmate-source"><span class='linenum'>    1</span> <span class="source source_ruby source_ruby_rails"><span class="meta meta_rails meta_rails_model">      methods <span class="keyword keyword_operator keyword_operator_assignment keyword_operator_assignment_ruby">=</span> controller<span class="punctuation punctuation_separator punctuation_separator_method punctuation_separator_method_ruby">.</span>public_instance_methods<span class="punctuation punctuation_section punctuation_section_function punctuation_section_function_ruby">(</span><span class="constant constant_language constant_language_ruby">false</span><span class="punctuation punctuation_section punctuation_section_function punctuation_section_function_ruby">)</span><span class="punctuation punctuation_separator punctuation_separator_method punctuation_separator_method_ruby">.</span>map<span class="punctuation punctuation_section punctuation_section_scope punctuation_section_scope_ruby">{</span><span class="punctuation punctuation_separator punctuation_separator_variable punctuation_separator_variable_ruby">|</span><span class="variable variable_other variable_other_block variable_other_block_ruby">action</span><span class="punctuation punctuation_separator punctuation_separator_variable punctuation_separator_variable_ruby">|</span> action <span class="punctuation punctuation_section punctuation_section_scope punctuation_section_scope_ruby">}</span></span></span></pre>

<p>Così avrete un elenco dei metodi pubblici del vostro controllore. Per quelli di voi che usano un sistema di ruoli basato su permessi ad azione, potrebbe essere utile per filtrare le solamente le azioni necessarie.</p>

<pre class="textmate-source"><span class='linenum'>    1</span> <span class="source source_shell">[<span class="string string_quoted string_quoted_double string_quoted_double_shell"><span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_begin punctuation_definition_string_begin_shell">"</span>update<span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_end punctuation_definition_string_end_shell">"</span></span>, <span class="string string_quoted string_quoted_double string_quoted_double_shell"><span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_begin punctuation_definition_string_begin_shell">"</span>destroy<span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_end punctuation_definition_string_end_shell">"</span></span>, <span class="string string_quoted string_quoted_double string_quoted_double_shell"><span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_begin punctuation_definition_string_begin_shell">"</span>create<span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_end punctuation_definition_string_end_shell">"</span></span>, <span class="string string_quoted string_quoted_double string_quoted_double_shell"><span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_begin punctuation_definition_string_begin_shell">"</span>new<span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_end punctuation_definition_string_end_shell">"</span></span>]</span></pre>

<p>Anzichè avere tutti i metodi dell&#8217;application:</p>

<pre class="textmate-source"><span class='linenum'>    1</span> <span class="source source_shell">[<span class="string string_quoted string_quoted_double string_quoted_double_shell"><span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_begin punctuation_definition_string_begin_shell">"</span>freeze<span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_end punctuation_definition_string_end_shell">"</span></span>, <span class="string string_quoted string_quoted_double string_quoted_double_shell"><span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_begin punctuation_definition_string_begin_shell">"</span>headers<span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_end punctuation_definition_string_end_shell">"</span></span>, <span class="string string_quoted string_quoted_double string_quoted_double_shell"><span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_begin punctuation_definition_string_begin_shell">"</span>process_with_components<span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_end punctuation_definition_string_end_shell">"</span></span>, <span class="string string_quoted string_quoted_double string_quoted_double_shell"><span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_begin punctuation_definition_string_begin_shell">"</span>formatted_admin_placements_path<span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_end punctuation_definition_string_end_shell">"</span></span>, 
<span class='linenum'>    2</span> <span class="string string_quoted string_quoted_double string_quoted_double_shell"><span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_begin punctuation_definition_string_begin_shell">"</span>formatted_edit_admin_product_path<span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_end punctuation_definition_string_end_shell">"</span></span>, <span class="string string_quoted string_quoted_double string_quoted_double_shell"><span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_begin punctuation_definition_string_begin_shell">"</span>headers=<span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_end punctuation_definition_string_end_shell">"</span></span>, <span class="string string_quoted string_quoted_double string_quoted_double_shell"><span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_begin punctuation_definition_string_begin_shell">"</span>logger<span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_end punctuation_definition_string_end_shell">"</span></span>, <span class="string string_quoted string_quoted_double string_quoted_double_shell"><span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_begin punctuation_definition_string_begin_shell">"</span>hash<span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_end punctuation_definition_string_end_shell">"</span></span>, 
<span class='linenum'>    3</span> <span class="string string_quoted string_quoted_double string_quoted_double_shell"><span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_begin punctuation_definition_string_begin_shell">"</span>formatted_admin_snippets_path<span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_end punctuation_definition_string_end_shell">"</span></span>, <span class="string string_quoted string_quoted_double string_quoted_double_shell"><span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_begin punctuation_definition_string_begin_shell">"</span>respond_to?<span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_end punctuation_definition_string_end_shell">"</span></span>, <span class="string string_quoted string_quoted_double string_quoted_double_shell"><span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_begin punctuation_definition_string_begin_shell">"</span>write_fragment<span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_end punctuation_definition_string_end_shell">"</span></span>, 
<span class='linenum'>    4</span> <span class="string string_quoted string_quoted_double string_quoted_double_shell"><span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_begin punctuation_definition_string_begin_shell">"</span>formatted_edit_admin_newsletter_path<span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_end punctuation_definition_string_end_shell">"</span></span>, <span class="string string_quoted string_quoted_double string_quoted_double_shell"><span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_begin punctuation_definition_string_begin_shell">"</span>logger=<span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_end punctuation_definition_string_end_shell">"</span></span>, <span class="string string_quoted string_quoted_double string_quoted_double_shell"><span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_begin punctuation_definition_string_begin_shell">"</span>controller_path<span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_end punctuation_definition_string_end_shell">"</span></span>, 
<span class='linenum'>    5</span> <span class="string string_quoted string_quoted_double string_quoted_double_shell"><span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_begin punctuation_definition_string_begin_shell">"</span>formatted_admin_link_path<span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_end punctuation_definition_string_end_shell">"</span></span>, <span class="string string_quoted string_quoted_double string_quoted_double_shell"><span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_begin punctuation_definition_string_begin_shell">"</span>formatted_edit_admin_account_path<span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_end punctuation_definition_string_end_shell">"</span></span>, 
<span class='linenum'>    6</span> <span class="string string_quoted string_quoted_double string_quoted_double_shell"><span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_begin punctuation_definition_string_begin_shell">"</span>formatted_user_url<span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_end punctuation_definition_string_end_shell">"</span></span>, <span class="string string_quoted string_quoted_double string_quoted_double_shell"><span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_begin punctuation_definition_string_begin_shell">"</span>formatted_admin_url<span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_end punctuation_definition_string_end_shell">"</span></span>, <span class="string string_quoted string_quoted_double string_quoted_double_shell"><span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_begin punctuation_definition_string_begin_shell">"</span>formatted_edit_admin_picture_path<span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_end punctuation_definition_string_end_shell">"</span></span>, 
<span class='linenum'>    7</span> <span class="string string_quoted string_quoted_double string_quoted_double_shell"><span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_begin punctuation_definition_string_begin_shell">"</span>session<span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_end punctuation_definition_string_end_shell">"</span></span>, <span class="string string_quoted string_quoted_double string_quoted_double_shell"><span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_begin punctuation_definition_string_begin_shell">"</span>formatted_new_admin_content_placement_path<span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_end punctuation_definition_string_end_shell">"</span></span>, 
<span class='linenum'>    8</span> <span class="string string_quoted string_quoted_double string_quoted_double_shell"><span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_begin punctuation_definition_string_begin_shell">"</span>formatted_new_admin_resource_path<span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_end punctuation_definition_string_end_shell">"</span></span>, <span class="string string_quoted string_quoted_double string_quoted_double_shell"><span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_begin punctuation_definition_string_begin_shell">"</span>session=<span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_end punctuation_definition_string_end_shell">"</span></span>, <span class="string string_quoted string_quoted_double string_quoted_double_shell"><span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_begin punctuation_definition_string_begin_shell">"</span>frozen?<span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_end punctuation_definition_string_end_shell">"</span></span>, 
<span class='linenum'>    9</span> <span class="string string_quoted string_quoted_double string_quoted_double_shell"><span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_begin punctuation_definition_string_begin_shell">"</span>formatted_new_admin_content_snippet_path<span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_end punctuation_definition_string_end_shell">"</span></span>, <span class="string string_quoted string_quoted_double string_quoted_double_shell"><span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_begin punctuation_definition_string_begin_shell">"</span>sanitize_params<span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_end punctuation_definition_string_end_shell">"</span></span>, 
<span class='linenum'>   10</span> <span class="string string_quoted string_quoted_double string_quoted_double_shell"><span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_begin punctuation_definition_string_begin_shell">"</span>sort_header_tag<span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_end punctuation_definition_string_end_shell">"</span></span>, <span class="string string_quoted string_quoted_double string_quoted_double_shell"><span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_begin punctuation_definition_string_begin_shell">"</span>to_a<span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_end punctuation_definition_string_end_shell">"</span></span>, <span class="string string_quoted string_quoted_double string_quoted_double_shell"><span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_begin punctuation_definition_string_begin_shell">"</span>formatted_admin_repositories_path<span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_end punctuation_definition_string_end_shell">"</span></span>, 
<span class='linenum'>   11</span> <span class="string string_quoted string_quoted_double string_quoted_double_shell"><span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_begin punctuation_definition_string_begin_shell">"</span>polymorphic_path<span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_end punctuation_definition_string_end_shell">"</span></span>, <span class="string string_quoted string_quoted_double string_quoted_double_shell"><span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_begin punctuation_definition_string_begin_shell">"</span>authenticate_or_request_with_http_digest<span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_end punctuation_definition_string_end_shell">"</span></span>, 
<span class='linenum'>   12</span> <span class="string string_quoted string_quoted_double string_quoted_double_shell"><span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_begin punctuation_definition_string_begin_shell">"</span>formatted_admin_box_path<span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_end punctuation_definition_string_end_shell">"</span></span>, <span class="string string_quoted string_quoted_double string_quoted_double_shell"><span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_begin punctuation_definition_string_begin_shell">"</span>list<span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_end punctuation_definition_string_end_shell">"</span></span>, <span class="string string_quoted string_quoted_double string_quoted_double_shell"><span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_begin punctuation_definition_string_begin_shell">"</span>formatted_home_url<span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_end punctuation_definition_string_end_shell">"</span></span>, <span class="string string_quoted string_quoted_double string_quoted_double_shell"><span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_begin punctuation_definition_string_begin_shell">"</span>instance_values<span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_end punctuation_definition_string_end_shell">"</span></span>, 
<span class='linenum'>   13</span> <span class="string string_quoted string_quoted_double string_quoted_double_shell"><span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_begin punctuation_definition_string_begin_shell">"</span>formatted_new_user_url<span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_end punctuation_definition_string_end_shell">"</span></span>, <span class="string string_quoted string_quoted_double string_quoted_double_shell"><span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_begin punctuation_definition_string_begin_shell">"</span>debugger<span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_end punctuation_definition_string_end_shell">"</span></span>, <span class="string string_quoted string_quoted_double string_quoted_double_shell"><span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_begin punctuation_definition_string_begin_shell">"</span>content_url<span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_end punctuation_definition_string_end_shell">"</span></span>, <span class="string string_quoted string_quoted_double string_quoted_double_shell"><span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_begin punctuation_definition_string_begin_shell">"</span>formatted_edit_admin_container_path<span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_end punctuation_definition_string_end_shell">"</span></span>, 
<span class='linenum'>   14</span> <span class="string string_quoted string_quoted_double string_quoted_double_shell"><span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_begin punctuation_definition_string_begin_shell">"</span>formatted_edit_admin_event_url<span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_end punctuation_definition_string_end_shell">"</span></span>, <span class="string string_quoted string_quoted_double string_quoted_double_shell"><span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_begin punctuation_definition_string_begin_shell">"</span>admin_sort<span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_end punctuation_definition_string_end_shell">"</span></span>, <span class="string string_quoted string_quoted_double string_quoted_double_shell"><span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_begin punctuation_definition_string_begin_shell">"</span>to_s<span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_end punctuation_definition_string_end_shell">"</span></span>, <span class="string string_quoted string_quoted_double string_quoted_double_shell"><span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_begin punctuation_definition_string_begin_shell">"</span>object_id<span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_end punctuation_definition_string_end_shell">"</span></span>, 
<span class='linenum'>   15</span> <span class="string string_quoted string_quoted_double string_quoted_double_shell"><span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_begin punctuation_definition_string_begin_shell">"</span>formatted_polymorphic_url<span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_end punctuation_definition_string_end_shell">"</span></span>, <span class="string string_quoted string_quoted_double string_quoted_double_shell"><span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_begin punctuation_definition_string_begin_shell">"</span>rescue_handlers<span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_end punctuation_definition_string_end_shell">"</span></span>, <span class="string string_quoted string_quoted_double string_quoted_double_shell"><span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_begin punctuation_definition_string_begin_shell">"</span>send_response_with_render_component<span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_end punctuation_definition_string_end_shell">"</span></span>, 
<span class='linenum'>   16</span> ...
<span class='linenum'>   17</span> ...]</span></pre>

<p><a href="http://feedads.g.doubleclick.net/~a/EgNVdkwn9ZVQ-2yPStfMc2M9ZmM/0/da"><img src="http://feedads.g.doubleclick.net/~a/EgNVdkwn9ZVQ-2yPStfMc2M9ZmM/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/EgNVdkwn9ZVQ-2yPStfMc2M9ZmM/1/da"><img src="http://feedads.g.doubleclick.net/~a/EgNVdkwn9ZVQ-2yPStfMc2M9ZmM/1/di" border="0" ismap="true"></img></a></p><img src="http://feeds.feedburner.com/~r/rails-on-the-road/~4/dKhTRwWIl4A" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.extendi.it/ruby-on-rails/index.php/2009/04/21/ruby-public_instance_methods/feed/</wfw:commentRss>
		<feedburner:origLink>http://www.extendi.it/ruby-on-rails/index.php/2009/04/21/ruby-public_instance_methods/</feedburner:origLink></item>
		<item>
		<title>17 tutorial su Ruby</title>
		<link>http://feedproxy.google.com/~r/rails-on-the-road/~3/rrTut2yKoQg/</link>
		<comments>http://www.extendi.it/ruby-on-rails/index.php/2009/04/20/17-tutorial-su-ruby/#comments</comments>
		<pubDate>Mon, 20 Apr 2009 12:47:21 +0000</pubDate>
		<dc:creator>duccio</dc:creator>
		
		<category><![CDATA[Risorse]]></category>

		<guid isPermaLink="false">http://www.extendi.it/ruby-on-rails/?p=765</guid>
		<description><![CDATA[Tekniqal.com offre 17 screencast base su Ruby, roba semplice ma comunque utile per chi vuole iniziare ad usarlo. 
]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.tekniqal.com/">Tekniqal.com</a> offre 17 screencast base su Ruby, roba semplice ma comunque utile per chi vuole iniziare ad usarlo. </p>

<p><a href="http://feedads.g.doubleclick.net/~a/jv5QwpW4-NOIOn-GbS_7aDgDRKU/0/da"><img src="http://feedads.g.doubleclick.net/~a/jv5QwpW4-NOIOn-GbS_7aDgDRKU/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/jv5QwpW4-NOIOn-GbS_7aDgDRKU/1/da"><img src="http://feedads.g.doubleclick.net/~a/jv5QwpW4-NOIOn-GbS_7aDgDRKU/1/di" border="0" ismap="true"></img></a></p><img src="http://feeds.feedburner.com/~r/rails-on-the-road/~4/rrTut2yKoQg" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.extendi.it/ruby-on-rails/index.php/2009/04/20/17-tutorial-su-ruby/feed/</wfw:commentRss>
		<feedburner:origLink>http://www.extendi.it/ruby-on-rails/index.php/2009/04/20/17-tutorial-su-ruby/</feedburner:origLink></item>
		<item>
		<title>Rack: potenzia le applicazioni web</title>
		<link>http://feedproxy.google.com/~r/rails-on-the-road/~3/UgO7gHMTRvA/</link>
		<comments>http://www.extendi.it/ruby-on-rails/index.php/2009/04/09/rack-powers-web-applications/#comments</comments>
		<pubDate>Thu, 09 Apr 2009 14:19:32 +0000</pubDate>
		<dc:creator>matte</dc:creator>
		
		<category><![CDATA[Risorse]]></category>

		<guid isPermaLink="false">http://www.extendi.it/ruby-on-rails/?p=755</guid>
		<description><![CDATA[In questo periodo si parla sempre più spesso di Rack.

&#8220;Rack fornisce un&#8217;interfaccia minimale tra webserver che supportano Ruby e i principali framework Ruby&#8221;

In altre parole consente di filtrare richieste che arrivano alla nostra applicazione e modificare le risposte che restituisce l&#8217;applicazione.

Per approfondire l&#8217;argomento visitate 32 Rack Resources to Get You Started dove troverete numerosi link [...]]]></description>
			<content:encoded><![CDATA[<p>In questo periodo si parla sempre più spesso di <a href="http://rack.rubyforge.org/">Rack</a>.</p>

<p>&#8220;Rack fornisce un&#8217;interfaccia minimale tra webserver che supportano <a href="http://www.ruby-lang.org/">Ruby</a> e i principali framework Ruby&#8221;</p>

<p>In altre parole consente di filtrare richieste che arrivano alla nostra applicazione e modificare le risposte che restituisce l&#8217;applicazione.</p>

<p>Per approfondire l&#8217;argomento visitate <a href="http://jasonseifer.com/2009/04/08/32-rack-resources-to-get-you-started">32 Rack Resources to Get You Started</a> dove troverete numerosi link con documentazione ed utili esempi.</p>

<p>Un impiego concreto e molto utile è l&#8217;utilizzo di un <a href="http://it.wikipedia.org/wiki/Middleware">Middleware</a> con <a href="http://rubyonrails.org/">Rails</a> e un uploader Flash che consente di uploadare file sul server. In <a href="http://thewebfellas.com/blog/2008/12/22/flash-uploaders-rails-cookie-based-sessions-and-csrf-rack-middleware-to-the-rescue">questo articolo</a> si vede come  il Flash non riesca a passare all&#8217;applicazione i cookie di autenticazione e come il codice scritto per Rack riesca a risolvere il problema. Per un esempio specifico di Rails 2.3.2 e SWFUpload potete scaricare l&#8217;applicazione <a href="http://github.com/lardawge/swfupload-rails-authentication/tree/master">swfupload-rails-authentication</a> da <a href="http://github.com/">github</a>.</p>

<p><a href="http://feedads.g.doubleclick.net/~a/_kW9xSvqQNdjo8JGs2mhJDbMNJk/0/da"><img src="http://feedads.g.doubleclick.net/~a/_kW9xSvqQNdjo8JGs2mhJDbMNJk/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/_kW9xSvqQNdjo8JGs2mhJDbMNJk/1/da"><img src="http://feedads.g.doubleclick.net/~a/_kW9xSvqQNdjo8JGs2mhJDbMNJk/1/di" border="0" ismap="true"></img></a></p><img src="http://feeds.feedburner.com/~r/rails-on-the-road/~4/UgO7gHMTRvA" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.extendi.it/ruby-on-rails/index.php/2009/04/09/rack-powers-web-applications/feed/</wfw:commentRss>
		<feedburner:origLink>http://www.extendi.it/ruby-on-rails/index.php/2009/04/09/rack-powers-web-applications/</feedburner:origLink></item>
		<item>
		<title>Cells - Component per rails</title>
		<link>http://feedproxy.google.com/~r/rails-on-the-road/~3/LxncCkY3HT4/</link>
		<comments>http://www.extendi.it/ruby-on-rails/index.php/2009/04/03/cells-component-per-rails/#comments</comments>
		<pubDate>Fri, 03 Apr 2009 16:16:00 +0000</pubDate>
		<dc:creator>duccio</dc:creator>
		
		<category><![CDATA[Altro]]></category>

		<guid isPermaLink="false">http://www.extendi.it/ruby-on-rails/?p=741</guid>
		<description><![CDATA[Qualche tempo fa abbiamo sviluppato un nostro CMS, durante lo sviluppo sapevamo che il render_component sarebbe stato deprecato a causa delle sue prestazioni.

Components should be used with care. They‘re significantly slower than simply splitting reusable parts into partials and conceptually more complicated.

Il render_component è ancora disponibile come plugin per il rails 2.3.1, quindi si può [...]]]></description>
			<content:encoded><![CDATA[<p>Qualche tempo fa abbiamo sviluppato un nostro <a href="http://en.wikipedia.org/wiki/Content_management_system">CMS</a>, durante lo sviluppo sapevamo che il <a href="http://rails.rubyonrails.org/classes/ActionController/Components.html">render_component</a> sarebbe stato deprecato a causa delle sue prestazioni.</p>

<blockquote>Components should be used with care. They‘re significantly slower than simply splitting reusable parts into partials and conceptually more complicated.</blockquote>

<p>Il <strong>render_component</strong> è ancora disponibile come <a href="http://github.com/rails/render_component/tree/master">plugin</a> per il rails 2.3.1, quindi si può comunque continuare ad usarlo, dato che per un CMS è un ottimo strumento per estendere le funzionalità creando controllori ad hoc per la gestione di news o di prodotti. In questi giorni stiamo apportando delle modifiche e così ho provato a cercare qualche soluzione alternativa all&#8217;uso dei component, magari più leggera e con una comunità intorno che ci lavora, così ho trovato <a href="http://cells.rubyforge.org">Cells</a>. </p>

<p><img src="http://www.extendi.it/ruby-on-rails/wp-content/uploads/2009/04/cell.png" alt="cell" title="cell" width="235" height="138" class="alignnone size-full wp-image-749" /></p>

<p>Cells porta i benefici del component-oriented al Ruby on Rails senza problemi di performance. Renderizzare una cella diventa come renderizzare un parziale senza lo stretto legame con il controllore.</p>

<p><a href="http://feedads.g.doubleclick.net/~a/Efa5oOWAHkNmE9S_jLgQ23iaHF4/0/da"><img src="http://feedads.g.doubleclick.net/~a/Efa5oOWAHkNmE9S_jLgQ23iaHF4/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/Efa5oOWAHkNmE9S_jLgQ23iaHF4/1/da"><img src="http://feedads.g.doubleclick.net/~a/Efa5oOWAHkNmE9S_jLgQ23iaHF4/1/di" border="0" ismap="true"></img></a></p><img src="http://feeds.feedburner.com/~r/rails-on-the-road/~4/LxncCkY3HT4" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.extendi.it/ruby-on-rails/index.php/2009/04/03/cells-component-per-rails/feed/</wfw:commentRss>
		<feedburner:origLink>http://www.extendi.it/ruby-on-rails/index.php/2009/04/03/cells-component-per-rails/</feedburner:origLink></item>
	</channel>
</rss>
