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

<channel>
	<title>Direto e Fácil &#187; Márcio Gasparotto</title>
	<atom:link href="http://www.diretoefacil.com.br/author/admin/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.diretoefacil.com.br</link>
	<description>Não tem que ser difícil.</description>
	<lastBuildDate>Tue, 20 Dec 2011 15:54:21 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.4</generator>
		<item>
		<title>Ruby sem rails</title>
		<link>http://www.diretoefacil.com.br/2011/07/06/ruby-sem-rails/</link>
		<comments>http://www.diretoefacil.com.br/2011/07/06/ruby-sem-rails/#comments</comments>
		<pubDate>Thu, 07 Jul 2011 03:34:42 +0000</pubDate>
		<dc:creator>Márcio Gasparotto</dc:creator>
				<category><![CDATA[Ruby]]></category>
		<category><![CDATA[Sinatra]]></category>
		<category><![CDATA[diversos]]></category>
		<category><![CDATA[merb]]></category>
		<category><![CDATA[ruby on rails]]></category>

		<guid isPermaLink="false">http://www.diretoefacil.com.br/?p=260</guid>
		<description><![CDATA[Tem um tempo que eu estou querendo escrever algo sobre esse assunto, o meu tempo anda meio escasso, mas motivado por um kaizen que participei com meus amigos de trabalho hoje, arranjei um tempinho para compartilhar algumas ideias, mas chega (&#8230;)</p><p><a href="http://www.diretoefacil.com.br/2011/07/06/ruby-sem-rails/">Read the rest of this entry &#187;</a></p>]]></description>
			<content:encoded><![CDATA[<p><img alt="" src="http://3.bp.blogspot.com/-O9ujJ6UjAec/TZJKnVBt8fI/AAAAAAAAAQU/F2RXRHA1QDI/s1600/martelo+comum.jpg" title="Martelo" class="aligncenter" width="350" height="350" /><br />
Tem um tempo que eu estou querendo escrever algo sobre esse assunto, o meu tempo anda meio escasso, mas motivado por um kaizen que participei com meus amigos de trabalho hoje, arranjei um tempinho para compartilhar algumas ideias, mas chega de conversinha e vamos ao assunto!</p>
<p>O Rails é sem dúvida uma das melhores coisas que aconteceu no mundo do desenvolvimento web, mudou conceitos, quebrou paradigmas e vem sendo copiado por todos os lados (grails, cakephp, .net mvc, etc&#8230;) mas o melhor de tudo, o maior benefício que o rails nos trouxe, pelo menos na minha visão, foi expor ao mundo, a até então, desconhecida linguagem Ruby.</p>
<p>Desde então o ruby ganhou notoriedade, muita coisa legal foi feita em ruby, milhares de gems, e hoje temos a condição de usar ruby pra quase tudo.</p>
<p>Mas é interessante ver como muita gente ainda acopla e até condiciona o uso do ruby somente ao rails, esquecendo de projetos como:</p>
<ul>
<li><a href="http://www.sinatrarb.com/">http://www.sinatrarb.com</a></li>
<li><a href="http://rack.rubyforge.org/">http://rack.rubyforge.org</a></li>
<li><a href="http://www.padrinorb.com/">http://www.padrinorb.com</a></li>
<li><a href="http://www.merbivore.com/">http://www.merbivore.com</a></li>
<li><a href="http://github.com/daddye/forever">http://github.com/daddye/forever</a></li>
<li><a href="http://ramaze.net/">http://ramaze.net</a></li>
<li><a href="http://camping.rubyforge.org/">http://camping.rubyforge.org</a></li>
</ul>
<p>É claro que o rails tem seus meritos, e é normal que ele seja sempre o primeiro a vir a mente, mas tenho percebido que de um tempo pra cá o rails se tornou o martelo de muita gente,  logo, todos os problemas viraram pregos.</p>
<p>Tenho olhado o sinatra de perto faz algum tempo e to começando a &#8220;brincar&#8221; com padrino, e se você chegou até aqui na leitura deste post, gostaria de te desafiar a pensar nisso, será que o rails tem sido o seu martelo? Se sim, que tal tentar trocar de ferramenta? opções não faltam, fica o desafio. </p>
<p>Abraços!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.diretoefacil.com.br/2011/07/06/ruby-sem-rails/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Não escreva métodos em seus módulos com self.</title>
		<link>http://www.diretoefacil.com.br/2011/02/05/nao-escreva-metodos-em-seus-modulos-com-self/</link>
		<comments>http://www.diretoefacil.com.br/2011/02/05/nao-escreva-metodos-em-seus-modulos-com-self/#comments</comments>
		<pubDate>Sun, 06 Feb 2011 03:53:08 +0000</pubDate>
		<dc:creator>Márcio Gasparotto</dc:creator>
				<category><![CDATA[Dicas]]></category>
		<category><![CDATA[Ruby]]></category>
		<category><![CDATA[dry]]></category>
		<category><![CDATA[self]]></category>

		<guid isPermaLink="false">http://www.diretoefacil.com.br/?p=212</guid>
		<description><![CDATA[É normal encontrar métodos implementados dentro de módulos acompanhados pelo self, geralmente usamos isso quando queremos tornar esse método um método de instância do módulo, já vi implementações bem grandes com vários métodos e todos eles acompanhados do self antes (&#8230;)</p><p><a href="http://www.diretoefacil.com.br/2011/02/05/nao-escreva-metodos-em-seus-modulos-com-self/">Read the rest of this entry &#187;</a></p>]]></description>
			<content:encoded><![CDATA[<p>É normal encontrar métodos implementados dentro de módulos acompanhados pelo self, geralmente usamos isso quando queremos tornar esse método um método de instância do módulo, já vi implementações bem grandes com vários métodos e todos eles acompanhados do self antes do nome do método. mas isso é algo que podemos abstrair e manter nossa implementação de módulos mais simples e limpa.</p>
<p>Veja alguns exemplos:<br />
<span id="more-212"></span><br />
Usando o self:</p>
<div class="codecolorer-container ruby vibrant" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="ruby codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color:#9966CC; font-weight:bold;">module</span> <span style="color:#CC00FF; font-weight:bold;">Time</span><br />
&nbsp; <br />
&nbsp; <span style="color:#9966CC; font-weight:bold;">def</span> <span style="color:#0000FF; font-weight:bold;">self</span>.<span style="color:#9900CC;">melhor_time</span><br />
&nbsp; &nbsp; <span style="color:#996600;">&quot;Palmeiras&quot;</span><br />
&nbsp; <span style="color:#9966CC; font-weight:bold;">end</span><br />
<br />
&nbsp; <span style="color:#9966CC; font-weight:bold;">def</span> <span style="color:#0000FF; font-weight:bold;">self</span>.<span style="color:#9900CC;">pior_time</span><br />
&nbsp; &nbsp; <span style="color:#996600;">&quot;Ibis&quot;</span><br />
&nbsp; <span style="color:#9966CC; font-weight:bold;">end</span><br />
&nbsp; <br />
&nbsp; <span style="color:#9966CC; font-weight:bold;">def</span> <span style="color:#0000FF; font-weight:bold;">self</span>.<span style="color:#9900CC;">alegria_da_torcida_adversaria</span><br />
&nbsp; &nbsp; <span style="color:#996600;">&quot;Curintia na libertadores&quot;</span><br />
&nbsp; <span style="color:#9966CC; font-weight:bold;">end</span> <br />
<br />
<span style="color:#9966CC; font-weight:bold;">end</span></div></div>
<p>Agora a mesma implementação usando o extend:</p>
<div class="codecolorer-container ruby vibrant" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="ruby codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color:#9966CC; font-weight:bold;">module</span> <span style="color:#CC00FF; font-weight:bold;">Time</span><br />
&nbsp; extend <span style="color:#0000FF; font-weight:bold;">self</span><br />
<br />
&nbsp; <span style="color:#9966CC; font-weight:bold;">def</span> melhor_time<br />
&nbsp; &nbsp; <span style="color:#996600;">&quot;Palmeiras&quot;</span><br />
&nbsp; <span style="color:#9966CC; font-weight:bold;">end</span><br />
<br />
&nbsp; <span style="color:#9966CC; font-weight:bold;">def</span> pior_time<br />
&nbsp; &nbsp; <span style="color:#996600;">&quot;Ibis&quot;</span><br />
&nbsp; <span style="color:#9966CC; font-weight:bold;">end</span><br />
&nbsp; <br />
&nbsp; <span style="color:#9966CC; font-weight:bold;">def</span> alegria_da_torcida_adversaria<br />
&nbsp; &nbsp; <span style="color:#996600;">&quot;Curintia na libertadores&quot;</span><br />
&nbsp; <span style="color:#9966CC; font-weight:bold;">end</span> <br />
<br />
<span style="color:#9966CC; font-weight:bold;">end</span></div></div>
<p>Perceba que usando o extend estamos dizendo para o módulo Time estender a ele mesmo, tornando estes métodos de classe. Em ambas as implementações os resultados seriam os mesmos, é claro que fica a cargo do gosto de cada um, porém em módulos com muitos métodos isso deixa a implementação mais dry.</p>
<pre>
Time.melhor_time
#=> Palmeiras

Time.pior_time
#=> Ibis

Time.alegria_da_torcida_adversaria
#=> Curintia na libertadores
</pre>
<p>This is it!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.diretoefacil.com.br/2011/02/05/nao-escreva-metodos-em-seus-modulos-com-self/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Configurando o Bundler com o Sinatra</title>
		<link>http://www.diretoefacil.com.br/2011/02/01/configurando-bundler-sinatra/</link>
		<comments>http://www.diretoefacil.com.br/2011/02/01/configurando-bundler-sinatra/#comments</comments>
		<pubDate>Wed, 02 Feb 2011 00:40:56 +0000</pubDate>
		<dc:creator>Márcio Gasparotto</dc:creator>
				<category><![CDATA[Sinatra]]></category>

		<guid isPermaLink="false">http://www.diretoefacil.com.br/?p=142</guid>
		<description><![CDATA[Esses dias comecei um novo projeto usando o Sinatra e  queria configurar o bundler, foi algo bem simples mas se alguém precisar, fica a dica. Passo 1: Crie o arquivo Gemfile na raiz do projeto. $ touch Gemfile Passo 2: (&#8230;)</p><p><a href="http://www.diretoefacil.com.br/2011/02/01/configurando-bundler-sinatra/">Read the rest of this entry &#187;</a></p>]]></description>
			<content:encoded><![CDATA[<p>Esses dias comecei um novo projeto usando o Sinatra e  queria configurar o bundler, foi algo bem simples mas se alguém precisar, fica a dica.</p>
<p>Passo 1: Crie o arquivo Gemfile na raiz do projeto.</p>
<pre>$ touch Gemfile</pre>
<p>Passo 2: Adicione as suas configurações/gems no Gemfile, no meu caso ficou assim.</p>
<div class="codecolorer-container ruby vibrant" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="ruby codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">source <span style="color:#ff3333; font-weight:bold;">:rubygems</span><br />
<br />
gem <span style="color:#996600;">&quot;sinatra&quot;</span><br />
gem <span style="color:#996600;">&quot;dm-sqlite-adapter&quot;</span><br />
gem <span style="color:#996600;">&quot;datamapper&quot;</span><br />
<br />
group <span style="color:#ff3333; font-weight:bold;">:test</span> <span style="color:#9966CC; font-weight:bold;">do</span><br />
&nbsp; gem <span style="color:#996600;">&quot;rspec&quot;</span><br />
&nbsp; gem <span style="color:#996600;">&quot;rack-test&quot;</span><br />
<span style="color:#9966CC; font-weight:bold;">end</span></div></div>
<p>Passo 3: No arquivo config.ru (tambem na raiz do projeto) setei as seguintes configurações</p>
<div class="codecolorer-container ruby vibrant" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="ruby codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color:#CC0066; font-weight:bold;">require</span> <span style="color:#996600;">'rubygems'</span><br />
<span style="color:#CC0066; font-weight:bold;">require</span> <span style="color:#996600;">'bundler'</span><br />
<span style="color:#CC0066; font-weight:bold;">require</span> <span style="color:#996600;">'sinatra'</span><br />
<span style="color:#CC0066; font-weight:bold;">require</span> <span style="color:#996600;">'sinatra/base'</span><br />
<br />
set <span style="color:#ff3333; font-weight:bold;">:app_name</span>, <span style="color:#996600;">'Nome da sua App'</span><br />
set <span style="color:#ff3333; font-weight:bold;">:author_name</span>, <span style="color:#996600;">'Marcio Gasparotto'</span><br />
set <span style="color:#ff3333; font-weight:bold;">:author_email</span>, <span style="color:#996600;">'email@gmail.com'</span><br />
<br />
Bundler.<span style="color:#CC0066; font-weight:bold;">require</span><br />
<br />
<span style="color:#CC0066; font-weight:bold;">require</span> <span style="color:#CC00FF; font-weight:bold;">File</span>.<span style="color:#9900CC;">join</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#CC00FF; font-weight:bold;">File</span>.<span style="color:#9900CC;">dirname</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#0000FF; font-weight:bold;">__FILE__</span><span style="color:#006600; font-weight:bold;">&#41;</span>, <span style="color:#996600;">'lib'</span>, <span style="color:#996600;">'sua_app.rb'</span><span style="color:#006600; font-weight:bold;">&#41;</span><br />
<br />
run <span style="color:#6666ff; font-weight:bold;">Sinatra::Application</span></div></div>
<p>Ai pra rodar sua aplicação basta executar o comando:</p>
<pre>$ rackup</pre>
<p>This is it!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.diretoefacil.com.br/2011/02/01/configurando-bundler-sinatra/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Rails e Javascript: Escrevendo seu próprio javascript.</title>
		<link>http://www.diretoefacil.com.br/2009/12/09/rails-e-javascript-escrevendo-seu-proprio-javascript/</link>
		<comments>http://www.diretoefacil.com.br/2009/12/09/rails-e-javascript-escrevendo-seu-proprio-javascript/#comments</comments>
		<pubDate>Thu, 10 Dec 2009 04:03:58 +0000</pubDate>
		<dc:creator>Márcio Gasparotto</dc:creator>
				<category><![CDATA[Tutorial]]></category>
		<category><![CDATA[ruby on rails]]></category>

		<guid isPermaLink="false">http://www.diretoefacil.com.br/?p=96</guid>
		<description><![CDATA[O integração padrão entre Ruby on Rails e Javascript sempre foi muito boa, as possibilidades com rjs, métodos que respondem javascript, json, etc. ajudam muito. Mas o que vou falar hoje é sobre como escrever seu próprio javascript, sem depender (&#8230;)</p><p><a href="http://www.diretoefacil.com.br/2009/12/09/rails-e-javascript-escrevendo-seu-proprio-javascript/">Read the rest of this entry &#187;</a></p>]]></description>
			<content:encoded><![CDATA[<p>O integração padrão entre Ruby on Rails e Javascript sempre foi muito boa, as possibilidades com rjs, métodos que respondem javascript, json, etc. ajudam muito.</p>
<p>Mas o que vou falar hoje é sobre como escrever seu próprio javascript, sem depender dos helpers do rails. Na minha opinião, embora a integração existente ajude muito, quando queremos ir pouco mais fundo, ou em um projeto muito grande que exija mais do que simples chamadas ajax eu prefiro criar meu próprio javascript, isso pelo simples fato de que faço do jeito que eu quero, organizo minha biblioteca de arquivos js da forma que melhor se adapta ao projeto e <span style="color: #ff0000;"><span style="text-decoration: underline;">tenho total controle sobre o que estou fazendo</span></span>, não fico &#8220;preso&#8221; ao jeito de fazer &#8220;imposto&#8221; pelo rails.</p>
<p>Só um aparte neste ponto, NÃO estou dizendo que rjs é ruim pelo contrário ele ajuda muito em muitas coisas.</p>
<p>Bem, dito isso vamos por a mão na massa! Em primeiro lugar aviso que usarei o jquery ao inves do prototype, não vou entrar em detalhes de como configurar o jquery no rails pra isso você pode usar o<a href="http://github.com/aaronchi/jrails/" target="_blank"> jrails</a> (eu uso).</p>
<p>O cenário que escolhi para esse post foi algo bem básico, só para exemplificar mesmo, imagine o seguinte: Um cadastro de produtos, esses produtos tem uma categoria e uma subcategoria, então quando eu escolher uma categoria em um select quero que o select de subcategorias seja carregado dinamicamente:</p>
<p>o meu controller eu adiciono o seguinte metodo:</p>
<pre class="textmate-source railscasts"><span class='linenum'>    1</span> <span class="source source_ruby source_ruby_rails"><span class="meta meta_function meta_function_method meta_function_method_without-arguments meta_function_method_without-arguments_ruby"><span class="keyword keyword_control keyword_control_def keyword_control_def_ruby">def</span> <span class="entity entity_name entity_name_function entity_name_function_ruby">ajax_load_sublinhas</span></span>
<span class='linenum'>    2</span>   linha <span class="keyword keyword_operator keyword_operator_assignment keyword_operator_assignment_ruby">=</span> params<span class="punctuation punctuation_section punctuation_section_array punctuation_section_array_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>linha</span><span class="punctuation punctuation_section punctuation_section_array punctuation_section_array_ruby">]</span> <span class="keyword keyword_operator keyword_operator_logical keyword_operator_logical_ruby">||</span> <span class="constant constant_numeric constant_numeric_ruby">0</span>
<span class='linenum'>    3</span>   <span class="variable variable_other variable_other_readwrite variable_other_readwrite_instance variable_other_readwrite_instance_ruby"><span class="punctuation punctuation_definition punctuation_definition_variable punctuation_definition_variable_ruby">@</span>sublinhas</span> <span class="keyword keyword_operator keyword_operator_assignment keyword_operator_assignment_ruby">=</span> <span class="support support_class support_class_ruby">Sublinha</span><span class="punctuation punctuation_separator punctuation_separator_method punctuation_separator_method_ruby">.</span>sublinha_by_linha<span class="punctuation punctuation_section punctuation_section_function punctuation_section_function_ruby">(</span>linha<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>collect <span class="punctuation punctuation_section punctuation_section_scope punctuation_section_scope_ruby">{</span><span class="meta meta_syntax meta_syntax_ruby meta_syntax_ruby_start-block"> </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">c</span><span class="punctuation punctuation_separator punctuation_separator_variable punctuation_separator_variable_ruby">|</span> <span class="punctuation punctuation_section punctuation_section_array punctuation_section_array_ruby">[</span>c<span class="punctuation punctuation_separator punctuation_separator_method punctuation_separator_method_ruby">.</span>description<span class="punctuation punctuation_separator punctuation_separator_object punctuation_separator_object_ruby">,</span> c<span class="punctuation punctuation_separator punctuation_separator_method punctuation_separator_method_ruby">.</span>codesublinha<span class="punctuation punctuation_section punctuation_section_array punctuation_section_array_ruby">]</span> <span class="punctuation punctuation_section punctuation_section_scope punctuation_section_scope_ruby">}</span>
<span class='linenum'>    4</span>   <span class="support support_function support_function_actionpack support_function_actionpack_rails">render</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>layout</span> <span class="punctuation punctuation_separator punctuation_separator_key-value">=&gt;</span> <span class="constant constant_language constant_language_ruby">false</span>
<span class='linenum'>    5</span> <span class="keyword keyword_control keyword_control_ruby">end</span></span></pre>
<p>Ai na view do metodo:</p>
<pre class="textmate-source railscasts"><span class='linenum'>    1</span> <span class="text text_html text_html_ruby"><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">product_codesublinha_input</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>select optional<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">label</span> <span class="entity entity_other entity_other_attribute-name entity_other_attribute-name_html">for</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>product_codesublinha<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>SubLinha<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">label</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="source source_ruby source_ruby_rails source_ruby_rails_embedded source_ruby_rails_embedded_html"><span class="punctuation punctuation_section punctuation_section_embedded punctuation_section_embedded_ruby">&lt;%</span> <span class="keyword keyword_control keyword_control_ruby">if</span> <span class="variable variable_other variable_other_readwrite variable_other_readwrite_instance variable_other_readwrite_instance_ruby"><span class="punctuation punctuation_definition punctuation_definition_variable punctuation_definition_variable_ruby">@</span>sublinhas</span><span class="punctuation punctuation_separator punctuation_separator_method punctuation_separator_method_ruby">.</span>empty? <span class="punctuation punctuation_section punctuation_section_embedded punctuation_section_embedded_ruby">%&gt;</span></span>
<span class='linenum'>    4</span>   nenhuma sublinha foi encontrada.
<span class='linenum'>    5</span> <span class="source source_ruby source_ruby_rails source_ruby_rails_embedded source_ruby_rails_embedded_html"><span class="punctuation punctuation_section punctuation_section_embedded punctuation_section_embedded_ruby">&lt;%</span> <span class="keyword keyword_control keyword_control_ruby">else</span> <span class="punctuation punctuation_section punctuation_section_embedded punctuation_section_embedded_ruby">%&gt;</span></span>
<span class='linenum'>    6</span> <span class="source source_ruby source_ruby_rails source_ruby_rails_embedded source_ruby_rails_embedded_html"><span class="punctuation punctuation_section punctuation_section_embedded punctuation_section_embedded_ruby">&lt;%=</span> select_tag <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>product_codesublinha<span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_end punctuation_definition_string_end_ruby">'</span></span><span class="punctuation punctuation_separator punctuation_separator_object punctuation_separator_object_ruby">,</span> options_for_select<span class="punctuation punctuation_section punctuation_section_function punctuation_section_function_ruby">(</span><span class="variable variable_other variable_other_readwrite variable_other_readwrite_instance variable_other_readwrite_instance_ruby"><span class="punctuation punctuation_definition punctuation_definition_variable punctuation_definition_variable_ruby">@</span>sublinhas</span><span class="punctuation punctuation_section punctuation_section_function punctuation_section_function_ruby">)</span><span class="punctuation punctuation_separator punctuation_separator_object punctuation_separator_object_ruby">,</span>
<span class='linenum'>    7</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>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>product[codesublinha]<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_embedded punctuation_section_embedded_ruby">%&gt;</span></span>
<span class='linenum'>    8</span> <span class="source source_ruby source_ruby_rails source_ruby_rails_embedded source_ruby_rails_embedded_html"><span class="punctuation punctuation_section punctuation_section_embedded punctuation_section_embedded_ruby">&lt;%</span> <span class="keyword keyword_control keyword_control_ruby">end</span> <span class="punctuation punctuation_section punctuation_section_embedded punctuation_section_embedded_ruby">%&gt;</span></span>
<span class='linenum'>    9</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="punctuation punctuation_definition punctuation_definition_tag punctuation_definition_tag_end punctuation_definition_tag_end_html">&gt;</span></span></span></pre>
<p>Por fim no meu formulário, na pagina de cadastro de produto:</p>
<pre class="textmate-source railscasts"><span class='linenum'>    1</span> <span class="text text_html text_html_ruby"><span class="source source_ruby source_ruby_rails source_ruby_rails_embedded source_ruby_rails_embedded_html"><span class="punctuation punctuation_section punctuation_section_embedded punctuation_section_embedded_ruby">&lt;%</span> <span class="support support_function support_function_viewhelpers support_function_viewhelpers_rails">content_for</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>header</span> <span class="keyword keyword_control keyword_control_start-block keyword_control_start-block_ruby">do </span><span class="punctuation punctuation_section punctuation_section_embedded punctuation_section_embedded_ruby">-%&gt;</span></span>
<span class='linenum'>    2</span>   <span class="source source_ruby source_ruby_rails source_ruby_rails_embedded source_ruby_rails_embedded_html"><span class="punctuation punctuation_section punctuation_section_embedded punctuation_section_embedded_ruby">&lt;%=</span> javascript_include_inputs <span class="punctuation punctuation_section punctuation_section_embedded punctuation_section_embedded_ruby">%&gt;</span></span>
<span class='linenum'>    3</span> <span class="source source_js source_js_embedded source_js_embedded_html">  <span class="punctuation punctuation_definition punctuation_definition_tag punctuation_definition_tag_html">&lt;</span><span class="entity entity_name entity_name_tag entity_name_tag_script entity_name_tag_script_html">script</span> <span class="entity entity_other entity_other_attribute-name entity_other_attribute-name_html">type</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>text/javascript<span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_end punctuation_definition_string_end_html">"</span></span> <span class="entity entity_other entity_other_attribute-name entity_other_attribute-name_html">charset</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>utf-8<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_html">&gt;</span>
<span class='linenum'>    4</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="support support_class support_class_js">document</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>ready<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> <span class="meta meta_brace meta_brace_curly meta_brace_curly_js">{</span>
<span class='linenum'>    5</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="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>#product_codelinha<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>change<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> <span class="meta meta_brace meta_brace_curly meta_brace_curly_js">{</span>
<span class='linenum'>    6</span>         show_overlayer<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'>    7</span>
<span class='linenum'>    8</span>         <span class="keyword keyword_operator keyword_operator_js">$</span><span class="meta meta_delimiter meta_delimiter_method meta_delimiter_method_period meta_delimiter_method_period_js">.</span>get<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>http://localhost:3000/products/ajax_load_sublinhas<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="meta meta_brace meta_brace_curly meta_brace_curly_js">{</span> linha: <span class="keyword keyword_operator keyword_operator_js">$</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>#product_codelinha<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>val<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_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>sublinhas<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'>    9</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="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>#sublinhas<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>empty<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="keyword keyword_operator keyword_operator_js">$</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>#sublinhas<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>append<span class="meta meta_brace meta_brace_round meta_brace_round_js">(</span>sublinhas<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'>   11</span>           hide_overlayer<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="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'>   13</span>
<span class='linenum'>   14</span>         <span class="keyword keyword_control keyword_control_js">return</span> <span class="constant constant_language constant_language_boolean constant_language_boolean_false constant_language_boolean_false_js">false</span><span class="punctuation punctuation_terminator punctuation_terminator_statement punctuation_terminator_statement_js">;</span>
<span class='linenum'>   15</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'>   16</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'>   17</span>
<span class='linenum'>   18</span> <span class="meta meta_function meta_function_js"><span class="storage storage_type storage_type_function storage_type_function_js">function</span> <span class="entity entity_name entity_name_function entity_name_function_js">show_overlayer</span><span class="punctuation punctuation_definition punctuation_definition_parameters punctuation_definition_parameters_begin punctuation_definition_parameters_begin_js">(</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'>   19</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="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>#overlayer<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>css<span class="meta meta_brace meta_brace_round meta_brace_round_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>display<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="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>block<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="punctuation punctuation_terminator punctuation_terminator_statement punctuation_terminator_statement_js">;</span>
<span class='linenum'>   20</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="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>body<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>css<span class="meta meta_brace meta_brace_round meta_brace_round_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>overflow<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="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>hidden<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="punctuation punctuation_terminator punctuation_terminator_statement punctuation_terminator_statement_js">;</span>
<span class='linenum'>   21</span> <span class="meta meta_brace meta_brace_curly meta_brace_curly_js">}</span>
<span class='linenum'>   22</span>
<span class='linenum'>   23</span> <span class="meta meta_function meta_function_js"><span class="storage storage_type storage_type_function storage_type_function_js">function</span> <span class="entity entity_name entity_name_function entity_name_function_js">hide_overlayer</span><span class="punctuation punctuation_definition punctuation_definition_parameters punctuation_definition_parameters_begin punctuation_definition_parameters_begin_js">(</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'>   24</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="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>#overlayer<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>css<span class="meta meta_brace meta_brace_round meta_brace_round_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>display<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="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>none<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="punctuation punctuation_terminator punctuation_terminator_statement punctuation_terminator_statement_js">;</span>
<span class='linenum'>   25</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="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>body<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>css<span class="meta meta_brace meta_brace_round meta_brace_round_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>overflow<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="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>auto<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="punctuation punctuation_terminator punctuation_terminator_statement punctuation_terminator_statement_js">;</span>
<span class='linenum'>   26</span> <span class="meta meta_brace meta_brace_curly meta_brace_curly_js">}</span>
<span class='linenum'>   27</span> <span class="punctuation punctuation_definition punctuation_definition_tag punctuation_definition_tag_html">&lt;/</span><span class="entity entity_name entity_name_tag entity_name_tag_script entity_name_tag_script_html">script</span><span class="punctuation punctuation_definition punctuation_definition_tag punctuation_definition_tag_html">&gt;</span>
</span><span class='linenum'>   28</span> <span class="source source_ruby source_ruby_rails source_ruby_rails_embedded source_ruby_rails_embedded_html"><span class="punctuation punctuation_section punctuation_section_embedded punctuation_section_embedded_ruby">&lt;%</span> <span class="keyword keyword_control keyword_control_ruby">end</span> <span class="punctuation punctuation_section punctuation_section_embedded punctuation_section_embedded_ruby">-%&gt;</span></span>
<span class='linenum'>   29</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">div</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">form</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>
<span class='linenum'>   30</span> <span class="source source_ruby source_ruby_rails source_ruby_rails_embedded source_ruby_rails_embedded_html"><span class="punctuation punctuation_section punctuation_section_embedded punctuation_section_embedded_ruby">&lt;%</span> semantic_form_for <span class="variable variable_other variable_other_readwrite variable_other_readwrite_instance variable_other_readwrite_instance_ruby"><span class="punctuation punctuation_definition punctuation_definition_variable punctuation_definition_variable_ruby">@</span>product</span> <span class="keyword keyword_control keyword_control_start-block keyword_control_start-block_ruby">do </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">form</span><span class="punctuation punctuation_separator punctuation_separator_variable punctuation_separator_variable_ruby">|</span> <span class="punctuation punctuation_section punctuation_section_embedded punctuation_section_embedded_ruby">%&gt;</span></span>
<span class='linenum'>   31</span>
<span class='linenum'>   32</span>   <span class="source source_ruby source_ruby_rails source_ruby_rails_embedded source_ruby_rails_embedded_html"><span class="punctuation punctuation_section punctuation_section_embedded punctuation_section_embedded_ruby">&lt;%</span> form<span class="punctuation punctuation_separator punctuation_separator_method punctuation_separator_method_ruby">.</span>inputs <span class="keyword keyword_control keyword_control_start-block keyword_control_start-block_ruby">do </span><span class="punctuation punctuation_section punctuation_section_embedded punctuation_section_embedded_ruby">%&gt;</span></span>
<span class='linenum'>   33</span>     <span class="source source_ruby source_ruby_rails source_ruby_rails_embedded source_ruby_rails_embedded_html"><span class="punctuation punctuation_section punctuation_section_embedded punctuation_section_embedded_ruby">&lt;%=</span> form<span class="punctuation punctuation_separator punctuation_separator_method punctuation_separator_method_ruby">.</span>input <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>code_product</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>label</span> <span class="punctuation punctuation_separator punctuation_separator_key-value">=&gt;</span> <span class="constant constant_language constant_language_ruby">true</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>input_html</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>size</span> <span class="punctuation punctuation_separator punctuation_separator_key-value">=&gt;</span> <span class="constant constant_numeric constant_numeric_ruby">5</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>class</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>small<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_section punctuation_section_embedded punctuation_section_embedded_ruby">%&gt;</span></span>
<span class='linenum'>   34</span>     <span class="source source_ruby source_ruby_rails source_ruby_rails_embedded source_ruby_rails_embedded_html"><span class="punctuation punctuation_section punctuation_section_embedded punctuation_section_embedded_ruby">&lt;%=</span> form<span class="punctuation punctuation_separator punctuation_separator_method punctuation_separator_method_ruby">.</span>input <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>name</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>label</span> <span class="punctuation punctuation_separator punctuation_separator_key-value">=&gt;</span> <span class="constant constant_language constant_language_ruby">true</span> <span class="punctuation punctuation_section punctuation_section_embedded punctuation_section_embedded_ruby">%&gt;</span></span>
<span class='linenum'>   35</span>     <span class="source source_ruby source_ruby_rails source_ruby_rails_embedded source_ruby_rails_embedded_html"><span class="punctuation punctuation_section punctuation_section_embedded punctuation_section_embedded_ruby">&lt;%=</span> form<span class="punctuation punctuation_separator punctuation_separator_method punctuation_separator_method_ruby">.</span>input <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>codelinha</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>as</span> <span class="punctuation punctuation_separator punctuation_separator_key-value">=&gt;</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>select</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>collection</span> <span class="punctuation punctuation_separator punctuation_separator_key-value">=&gt;</span> <span class="variable variable_other variable_other_readwrite variable_other_readwrite_instance variable_other_readwrite_instance_ruby"><span class="punctuation punctuation_definition punctuation_definition_variable punctuation_definition_variable_ruby">@</span>linhas</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>label</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>Linha<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_embedded punctuation_section_embedded_ruby">%&gt;</span></span>
<span class='linenum'>   36</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">div</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">sublinhas</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>
<span class='linenum'>   37</span>     <span class="source source_ruby source_ruby_rails source_ruby_rails_embedded source_ruby_rails_embedded_html"><span class="punctuation punctuation_section punctuation_section_embedded punctuation_section_embedded_ruby">&lt;%</span> <span class="keyword keyword_control keyword_control_ruby">if</span> <span class="variable variable_other variable_other_readwrite variable_other_readwrite_instance variable_other_readwrite_instance_ruby"><span class="punctuation punctuation_definition punctuation_definition_variable punctuation_definition_variable_ruby">@</span>product</span><span class="punctuation punctuation_separator punctuation_separator_method punctuation_separator_method_ruby">.</span>new_record? <span class="punctuation punctuation_section punctuation_section_embedded punctuation_section_embedded_ruby">%&gt;</span></span>
<span class='linenum'>   38</span>     <span class="source source_ruby source_ruby_rails source_ruby_rails_embedded source_ruby_rails_embedded_html"><span class="punctuation punctuation_section punctuation_section_embedded punctuation_section_embedded_ruby">&lt;%</span> <span class="keyword keyword_control keyword_control_ruby">else</span> <span class="punctuation punctuation_section punctuation_section_embedded punctuation_section_embedded_ruby">%&gt;</span></span>
<span class='linenum'>   39</span>     <span class="source source_ruby source_ruby_rails source_ruby_rails_embedded source_ruby_rails_embedded_html"><span class="punctuation punctuation_section punctuation_section_embedded punctuation_section_embedded_ruby">&lt;%=</span> form<span class="punctuation punctuation_separator punctuation_separator_method punctuation_separator_method_ruby">.</span>input <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>codesublinha</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>as</span> <span class="punctuation punctuation_separator punctuation_separator_key-value">=&gt;</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>select</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>collection</span> <span class="punctuation punctuation_separator punctuation_separator_key-value">=&gt;</span> <span class="variable variable_other variable_other_readwrite variable_other_readwrite_instance variable_other_readwrite_instance_ruby"><span class="punctuation punctuation_definition punctuation_definition_variable punctuation_definition_variable_ruby">@</span>sublinhas</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>label</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>SubLinha<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_embedded punctuation_section_embedded_ruby">%&gt;</span></span>
<span class='linenum'>   40</span>     <span class="source source_ruby source_ruby_rails source_ruby_rails_embedded source_ruby_rails_embedded_html"><span class="punctuation punctuation_section punctuation_section_embedded punctuation_section_embedded_ruby">&lt;%</span> <span class="keyword keyword_control keyword_control_ruby">end</span> <span class="punctuation punctuation_section punctuation_section_embedded punctuation_section_embedded_ruby">%&gt;</span></span>
<span class='linenum'>   41</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">div</span><span class="punctuation punctuation_definition punctuation_definition_tag punctuation_definition_tag_end punctuation_definition_tag_end_html">&gt;</span></span>
<span class='linenum'>   42</span>     <span class="source source_ruby source_ruby_rails source_ruby_rails_embedded source_ruby_rails_embedded_html"><span class="punctuation punctuation_section punctuation_section_embedded punctuation_section_embedded_ruby">&lt;%=</span> form<span class="punctuation punctuation_separator punctuation_separator_method punctuation_separator_method_ruby">.</span>input <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>stock</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>label</span> <span class="punctuation punctuation_separator punctuation_separator_key-value">=&gt;</span> <span class="constant constant_language constant_language_ruby">true</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>input_html</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="meta meta_syntax meta_syntax_ruby meta_syntax_ruby_start-block"> </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>size</span> <span class="punctuation punctuation_separator punctuation_separator_key-value">=&gt;</span> <span class="constant constant_numeric constant_numeric_ruby">3</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>class</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>small<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_section punctuation_section_embedded punctuation_section_embedded_ruby">%&gt;</span></span>
<span class='linenum'>   43</span>     <span class="source source_ruby source_ruby_rails source_ruby_rails_embedded source_ruby_rails_embedded_html"><span class="punctuation punctuation_section punctuation_section_embedded punctuation_section_embedded_ruby">&lt;%=</span> form<span class="punctuation punctuation_separator punctuation_separator_method punctuation_separator_method_ruby">.</span>input <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>cost_price</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>label</span> <span class="punctuation punctuation_separator punctuation_separator_key-value">=&gt;</span> <span class="constant constant_language constant_language_ruby">true</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>mask</span> <span class="punctuation punctuation_separator punctuation_separator_key-value">=&gt;</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>decimal</span><span class="punctuation punctuation_separator punctuation_separator_object punctuation_separator_object_ruby">,</span>
<span class='linenum'>   44</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>input_html</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>size</span> <span class="punctuation punctuation_separator punctuation_separator_key-value">=&gt;</span> <span class="constant constant_numeric constant_numeric_ruby">5</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>class</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>small<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_section punctuation_section_embedded punctuation_section_embedded_ruby">%&gt;</span></span>
<span class='linenum'>   45</span>     <span class="source source_ruby source_ruby_rails source_ruby_rails_embedded source_ruby_rails_embedded_html"><span class="punctuation punctuation_section punctuation_section_embedded punctuation_section_embedded_ruby">&lt;%=</span> form<span class="punctuation punctuation_separator punctuation_separator_method punctuation_separator_method_ruby">.</span>input <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>retail_price</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>label</span> <span class="punctuation punctuation_separator punctuation_separator_key-value">=&gt;</span> <span class="constant constant_language constant_language_ruby">true</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>mask</span> <span class="punctuation punctuation_separator punctuation_separator_key-value">=&gt;</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>decimal</span><span class="punctuation punctuation_separator punctuation_separator_object punctuation_separator_object_ruby">,</span>
<span class='linenum'>   46</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>input_html</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>size</span> <span class="punctuation punctuation_separator punctuation_separator_key-value">=&gt;</span> <span class="constant constant_numeric constant_numeric_ruby">5</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>class</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>small<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_section punctuation_section_embedded punctuation_section_embedded_ruby">%&gt;</span></span>
<span class='linenum'>   47</span>     <span class="source source_ruby source_ruby_rails source_ruby_rails_embedded source_ruby_rails_embedded_html"><span class="punctuation punctuation_section punctuation_section_embedded punctuation_section_embedded_ruby">&lt;%=</span> form<span class="punctuation punctuation_separator punctuation_separator_method punctuation_separator_method_ruby">.</span>input <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>description</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>label</span> <span class="punctuation punctuation_separator punctuation_separator_key-value">=&gt;</span> <span class="constant constant_language constant_language_ruby">true</span> <span class="punctuation punctuation_section punctuation_section_embedded punctuation_section_embedded_ruby">%&gt;</span></span>
<span class='linenum'>   48</span>     <span class="source source_ruby source_ruby_rails source_ruby_rails_embedded source_ruby_rails_embedded_html"><span class="punctuation punctuation_section punctuation_section_embedded punctuation_section_embedded_ruby">&lt;%=</span> form<span class="punctuation punctuation_separator punctuation_separator_method punctuation_separator_method_ruby">.</span>buttons <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>commit</span> <span class="punctuation punctuation_section punctuation_section_embedded punctuation_section_embedded_ruby">%&gt;</span></span>
<span class='linenum'>   49</span>   <span class="source source_ruby source_ruby_rails source_ruby_rails_embedded source_ruby_rails_embedded_html"><span class="punctuation punctuation_section punctuation_section_embedded punctuation_section_embedded_ruby">&lt;%</span> <span class="keyword keyword_control keyword_control_ruby">end</span> <span class="punctuation punctuation_section punctuation_section_embedded punctuation_section_embedded_ruby">%&gt;</span></span>
<span class='linenum'>   50</span>
<span class='linenum'>   51</span> <span class="source source_ruby source_ruby_rails source_ruby_rails_embedded source_ruby_rails_embedded_html"><span class="punctuation punctuation_section punctuation_section_embedded punctuation_section_embedded_ruby">&lt;%</span> <span class="keyword keyword_control keyword_control_ruby">end</span> <span class="punctuation punctuation_section punctuation_section_embedded punctuation_section_embedded_ruby">%&gt;</span></span>
<span class='linenum'>   52</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">div</span><span class="punctuation punctuation_definition punctuation_definition_tag punctuation_definition_tag_end punctuation_definition_tag_end_html">&gt;</span></span></span></pre>
<p>Vejam que para o exemplo eu estou usando o formtastic, por isso o formulário um pouco diferente do convencional.</p>
<p>Lembre sempre de setar o método no routes.rb também</p>
<pre>map.resources :products, :collection =&gt; { :ajax_load_sublinhas =&gt; :get }</pre>
<p>Vejam que temos muita liberdade para fazer a coisa do nosso jeito, esse foi só um exemplo bem simples de selects dinâmicos, mas o leque de coisas que podemos fazer é o quanto a nossa imaginação permitir.</p>
<p>Qualquer dúvida é só comentar.</p>
<p>This is it!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.diretoefacil.com.br/2009/12/09/rails-e-javascript-escrevendo-seu-proprio-javascript/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Uma semana de Mac OS X.</title>
		<link>http://www.diretoefacil.com.br/2009/09/01/uma-semana-de-mac-os-x/</link>
		<comments>http://www.diretoefacil.com.br/2009/09/01/uma-semana-de-mac-os-x/#comments</comments>
		<pubDate>Tue, 01 Sep 2009 19:10:59 +0000</pubDate>
		<dc:creator>Márcio Gasparotto</dc:creator>
				<category><![CDATA[Mac]]></category>

		<guid isPermaLink="false">http://www.diretoefacil.com.br/?p=88</guid>
		<description><![CDATA[Depois de usar por 3 anos o meu querido Linux, no caso, o Ubuntu, comprei na semana passada meu primeiro mac, um macbook jeitoso por um ótimo preço. Deixei pra escrever esse post depois de uma semana para que eu (&#8230;)</p><p><a href="http://www.diretoefacil.com.br/2009/09/01/uma-semana-de-mac-os-x/">Read the rest of this entry &#187;</a></p>]]></description>
			<content:encoded><![CDATA[<p>Depois de usar por 3 anos o meu querido Linux, no caso, o Ubuntu, comprei na semana passada meu primeiro mac, um macbook jeitoso por um ótimo preço.</p>
<p>Deixei pra escrever esse post depois de uma semana para que eu tivesse um pouco mais de base para falar sobre o mac, vou dividir minha impressões em algumas partes.</p>
<p><em><strong>Preço</strong></em></p>
<p>Um macbook por R$ 2.875,00 eu achei bem barato (com base na experiência que estou tendo), um pc no mesmo padrão sairia por uns R$ 2.200,00.</p>
<p><em><strong>Hardware</strong></em></p>
<p>Meu note anterior era um vaio, maquina top, muito boa, ótimo acabamento, mas perto do macbook, é incontestável que a apple mata a pau no acabamento, com todo respeito ao vaio, mas o mac é muito melhor desenhado e planejado, tudo no lugar certo, e com um cuidado notável nos detalhes.</p>
<p><em><strong>Usabilidade</strong></em></p>
<p>No começo eu estranhei um pouco, mesmo ja tendo contato anterior com o Mac OS X, na hora de usar o sistema full time sempre fica resquícios dos antigos habitos, mas de modo geral acho muito tranquilo de fazer as coisas no mac os, principalmente depois que se começa a acostumar com as teclas de atalho tudo fica muito simples.</p>
<p><em><strong>Software Básico</strong></em> <em>(browser, im, agenda, organizador de fotos, player de musica e vídeo, etc.)</em></p>
<p>Sem dúvida nenhuma é aqui que a coisa começa a ficar desigual, mesmo o Linux tendo muitas opções, e algumas muito boas por sinal, os softwares de uso no dia-a-dia no mac são bem mais polidos, a maioria dos aplicativos usa com competência o recurso de drag on drop, além de interfaces mais objetivas e uma integração muito boa entre os aplicativos.</p>
<p><em><strong>Desenvolvimento</strong></em></p>
<p>Muito tranquilo, um terminal competente, parecido com o do Linux, Para programar  eu estou usando o Text Mate, que realmente é tudo isso que dizem por ai, é bom mesmo. E mais ruby, rails, algumas gems aki e ali, php, mysql e tudo mais. Resumo da opera é que tenho tudo que tinha no linux, com um editor consideravelmente melhor (eu usava o gedit turbinado) e ainda ganho algumas ferramentas para edição de gráficos (as vezes preciso recortar uns pngs, criar um ou outro botão, etc.) e no linux só tinha o gimp e o inkscape que eram descentes, agora as possibilidades nessa área aumentaram bastante.</p>
<p><em><strong>Conclusões</strong></em></p>
<p>Não fiz nenhuma comparação dos sistemas em si, Linux X Mac, acho que o caminho não é esse, tudo que faço no mac hoje, eu também fazia no linux anteriormente, mudou muito a maneira de se fazer algumas coisas, o Mac é bem mais&#8230;eu diria&#8230;lapidado que outros sistemas, o linux é muito bom, mas ter que ficar orando para que não quebrasse algo cada vez que atualizava o meu driver de vídeo intel,  eu confesso que era muito frustante, assim como compilar drivers windows para adaptadores wireless, mas isso é outra história, é injusto comparar algo gratuito com algo que você paga pra ter, meu saudoso avô ja dizia &#8220;cavalo dado não se olha os dentes&#8221;.</p>
<p>Eu estou feliz da vida com meu macbook, o Mac é melhor sim que o Linux, pelo menos esta sendo até agora, afinal ele tem mesmo que ser, eu e todos os outros macqueiros por ai pagamos a Apple por isso, e se você puder, compre um Mac, você não vai se arrepender.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.diretoefacil.com.br/2009/09/01/uma-semana-de-mac-os-x/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Sumido&#8230;</title>
		<link>http://www.diretoefacil.com.br/2009/05/24/sumido/</link>
		<comments>http://www.diretoefacil.com.br/2009/05/24/sumido/#comments</comments>
		<pubDate>Mon, 25 May 2009 03:09:39 +0000</pubDate>
		<dc:creator>Márcio Gasparotto</dc:creator>
				<category><![CDATA[diversos]]></category>

		<guid isPermaLink="false">http://www.diretoefacil.com.br/?p=80</guid>
		<description><![CDATA[Oi Pessoal, sei que to meio sumido nos últimos meses, mas espero em breve voltar a postar pelo menos uns dois ou três posts por mês. To trabalhando muito e o tempo não perdoa, como diria o Cazuza &#8220;o tempo (&#8230;)</p><p><a href="http://www.diretoefacil.com.br/2009/05/24/sumido/">Read the rest of this entry &#187;</a></p>]]></description>
			<content:encoded><![CDATA[<p>Oi Pessoal, sei que to meio sumido nos últimos meses, mas espero em breve voltar a postar pelo menos uns dois ou três posts por mês.</p>
<p>To trabalhando muito e o tempo não perdoa, como diria o Cazuza &#8220;o tempo não para&#8221;!</p>
<p>Até breve.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.diretoefacil.com.br/2009/05/24/sumido/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Livro grátis! Ruby on Rails 2.2 &#8211; O que há de novo?</title>
		<link>http://www.diretoefacil.com.br/2009/01/19/livro-rails-22-free/</link>
		<comments>http://www.diretoefacil.com.br/2009/01/19/livro-rails-22-free/#comments</comments>
		<pubDate>Mon, 19 Jan 2009 17:08:30 +0000</pubDate>
		<dc:creator>Márcio Gasparotto</dc:creator>
				<category><![CDATA[Dicas]]></category>
		<category><![CDATA[ruby on rails]]></category>

		<guid isPermaLink="false">http://www.diretoefacil.com.br/?p=72</guid>
		<description><![CDATA[O Carlos Bandro liberou a versão em português do livro Ruby on Rails 2.2 &#8211; o que há de novo? para download, &#8220;di grátis&#8221;, isso mesmo free! Eu já tinha adquirido o mesmo na data do lançamento junto com o (&#8230;)</p><p><a href="http://www.diretoefacil.com.br/2009/01/19/livro-rails-22-free/">Read the rest of this entry &#187;</a></p>]]></description>
			<content:encoded><![CDATA[<p style="text-align: center;"><img title="cover-book-blog" src="http://www.diretoefacil.com.br/wp-content/uploads/2008/10/cover-book-blog-300x233.jpg" alt="cover-book-blog" width="300" height="233" /></p>
<p>O Carlos Bandro liberou a versão em português do livro Ruby on Rails 2.2 &#8211; o que há de novo? para download, &#8220;di grátis&#8221;, isso mesmo free!</p>
<p>Eu já tinha adquirido o mesmo na data do lançamento junto com o screencast, e até ja tinha dado a dica <a href="http://www.diretoefacil.com.br/2008/10/27/whats-new-in-rails-2-2/" target="_blank">aqui mesmo</a>.</p>
<p>Parabéns Carlos pela iniciativa!</p>
<p><a href="http://www.nomedojogo.com/wp-content/uploads/2009/01/ruby-on-rails-2-2_whats-new_br.pdf" target="_blank">Link para download</a></p>
<p><a href="http://www.nomedojogo.com/2009/01/19/livro-gratis-ruby-on-rails-22-o-que-ha-de-novo/" target="_blank">Link do post no blog do Carlos</a></p>
<p>Abraço!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.diretoefacil.com.br/2009/01/19/livro-rails-22-free/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>(Rails + Merb) Mais uma vez os rubistas saem na frente&#8230;</title>
		<link>http://www.diretoefacil.com.br/2008/12/24/rails-merb-mais-uma-vez-os-rubistas-saem-na-frente/</link>
		<comments>http://www.diretoefacil.com.br/2008/12/24/rails-merb-mais-uma-vez-os-rubistas-saem-na-frente/#comments</comments>
		<pubDate>Wed, 24 Dec 2008 20:28:16 +0000</pubDate>
		<dc:creator>Márcio Gasparotto</dc:creator>
				<category><![CDATA[merb]]></category>
		<category><![CDATA[ruby on rails]]></category>

		<guid isPermaLink="false">http://www.diretoefacil.com.br/?p=54</guid>
		<description><![CDATA[Eu sou uma pessoa a favor da diversidade, acho muito bom podermos escolher entre esse ou aquele, gostar mais disto do que daquilo, ter que fazer uma escolha nos obriga a tomar uma decisão, faz com que paremos e pensamos (&#8230;)</p><p><a href="http://www.diretoefacil.com.br/2008/12/24/rails-merb-mais-uma-vez-os-rubistas-saem-na-frente/">Read the rest of this entry &#187;</a></p>]]></description>
			<content:encoded><![CDATA[<p>Eu sou uma pessoa a favor da diversidade, acho muito bom podermos escolher entre esse ou aquele, gostar mais disto do que daquilo, ter que fazer uma escolha nos obriga a tomar uma decisão, faz com que paremos e pensamos se o que estamos optando realmente é o melhor para o momento.</p>
<p>No desenvolvimento web não é diferente, temos muitas opções de linguagens, bibliotecas javascripts, frameworks, etc.</p>
<p>Mas  a diversidade que eu defendi no primeiro parágrafo começou a jogar contra quando o assunto é frameworks web, os últimos anos foi um festival de <span style="text-decoration: line-through;">aberrações</span> frameworks pipocando de tudo quanto é lado, alguem arrisca dizer quantos frameworks existe hoje em PHP, Java, Ruby ou qualquer outra linguagem?</p>
<p>Perdi a conta de quantos posts eu vi pela net a fora com o título &#8220;Faça seu próprio web framework  (linguagem que vc escolher) em 3 passos&#8221;.</p>
<p>É aqui, exatamente neste ponto, onde tem um monte de gente indo cada um para um lado que os &#8220;rubistas&#8221; saem na frente, pararam de &#8220;espalhar&#8221; e decidiram se &#8220;juntar&#8221;, porque aquele ditado que diz:  &#8220;antes só do que mal acompanhado&#8221; é balela, eu prefiro aquele que diz: &#8220;duas cabeças pensam melhor do que uma&#8221;, ou ainda: &#8220;é melhor serem dois do que um, pois se um cair o outro ajuda a levantar&#8221;.</p>
<p>Nesse ponto a união do Rails com o Merb (os dois maiores frameworks escritos em Ruby) foi um grande passo em direção a algo melhor, algo que será feito por mais pessoas, com mais idéias e ideais, mais gente pensando na melhor forma de resolver um determinado problema.</p>
<p>Por que ficar cada um de um lado investindo tempo, estudo, pesquisas e esforços pra no final fazerem a mesma coisa, muitas vezes quase do mesmo jeito?</p>
<p>Estou muito otimista em relação a esta fusão, e que isso sirva de <span style="text-decoration: line-through;">lição</span> insentivo para outros &#8220;core teams&#8221;.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.diretoefacil.com.br/2008/12/24/rails-merb-mais-uma-vez-os-rubistas-saem-na-frente/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Page.reload com o jrails</title>
		<link>http://www.diretoefacil.com.br/2008/11/26/pagereload-with-jrails/</link>
		<comments>http://www.diretoefacil.com.br/2008/11/26/pagereload-with-jrails/#comments</comments>
		<pubDate>Wed, 26 Nov 2008 14:33:19 +0000</pubDate>
		<dc:creator>Márcio Gasparotto</dc:creator>
				<category><![CDATA[Dicas]]></category>
		<category><![CDATA[ruby on rails]]></category>
		<category><![CDATA[dica]]></category>
		<category><![CDATA[jrails]]></category>

		<guid isPermaLink="false">http://www.diretoefacil.com.br/?p=49</guid>
		<description><![CDATA[No rails 2.2 foi adicionado um novo helper para os templates .rjs o reload, pra quem assim como eu, usa o jrails para trocar o prototype pelo jquery fica essa dica, pois até o momento pessoal do jrails não atualizou (&#8230;)</p><p><a href="http://www.diretoefacil.com.br/2008/11/26/pagereload-with-jrails/">Read the rest of this entry &#187;</a></p>]]></description>
			<content:encoded><![CDATA[<p>No rails 2.2 foi adicionado um novo helper para os templates .rjs o reload, pra quem assim como eu, usa o jrails para trocar o prototype pelo jquery fica essa dica, pois até o momento pessoal do jrails não atualizou o mesmo, portanto se você chamar o page.reload usando o jrails vai quebrar.</p>
<p>Para solucionar o problema é simples, basta incluir o codigo abaixo no arquivo jrails.rb (vendor/plugins/jrails/lib/jrails.rb) dentro da Classe JavaScriptGenerator e do Módulo GeneratorMethods.</p>
<p><script src="http://gist.github.com/29396.js"></script></p>
<p>Abraço!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.diretoefacil.com.br/2008/11/26/pagereload-with-jrails/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ubuntu 8.10 + Ruby + Rails + Gedit + Git = Ótimo ambiente!</title>
		<link>http://www.diretoefacil.com.br/2008/10/31/ubuntu-810-rails-gedit/</link>
		<comments>http://www.diretoefacil.com.br/2008/10/31/ubuntu-810-rails-gedit/#comments</comments>
		<pubDate>Fri, 31 Oct 2008 15:46:17 +0000</pubDate>
		<dc:creator>Márcio Gasparotto</dc:creator>
				<category><![CDATA[Gedit]]></category>
		<category><![CDATA[Git]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[ruby on rails]]></category>
		<category><![CDATA[ubuntu intrepid]]></category>

		<guid isPermaLink="false">http://www.diretoefacil.com.br/?p=39</guid>
		<description><![CDATA[Ontem (30-10-2008) foi liberado o Ubuntu 8.10 (Intrepid Ibex), e eu como sempre não aguento esperar,  desta vez eu já vinha me preparando (fazendo backps, etc..) pra formatar minha máquina. Foi só baixar o .iso queimar no cd colocar no (&#8230;)</p><p><a href="http://www.diretoefacil.com.br/2008/10/31/ubuntu-810-rails-gedit/">Read the rest of this entry &#187;</a></p>]]></description>
			<content:encoded><![CDATA[<p>Ontem (30-10-2008) foi liberado o <a href="http://www.ubuntu.com/" target="_blank">Ubuntu 8.10 (Intrepid Ibex)</a>, e eu como sempre não aguento esperar,  desta vez eu já vinha me preparando (fazendo backps, etc..) pra formatar minha máquina. Foi só baixar o .iso queimar no cd colocar no drive e mais uns 20 minutos o Intred já estava rodando.</p>
<p><strong>1 etapa: Configurações Básicas do sistema</strong></p>
<p>Eu sempre instalo as bibliotecas e programas para áudio, video, gerenciador de clipboard, etc&#8230;mas isso era meio chato, mas isso já era! O <a href="http://hamacker.wordpress.com/2008/10/29/o-script-ubuntu-perfeito-esta-concluido/" target="_blank">Hamacker fez um script</a> que faz tudo isso, você só precisa selecionar o que quer e pronto! Parabéns Hamacker pelo ótimo trabalho!</p>
<p><strong>2 etapa: Instalando o Ruby e o Rails<a href="http://www.rubyhead.com/2008/04/25/installing-ruby-rails-on-ubuntu-804-hardy-heron/" target="_blank"></a></strong></p>
<p>a) Abra o terminal e execute o comando:</p>
<div class="codecolorer-container text vibrant" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br /></div></td><td><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">sudo apt-get install ruby irb ri rdoc ruby1.8-dev libzlib-ruby libyaml-ruby libreadline-ruby libncurses-ruby libcurses-ruby libruby libruby-extras libfcgi-ruby1.8 build-essential libopenssl-ruby libdbm-ruby libdbi-ruby libdbd-sqlite3-ruby libsqlite3-dev libsqlite3-ruby libxml-ruby libxml2-dev</div></td></tr></tbody></table></div>
<p>b) Baixe a ultima versão do <a href="http://rubyforge.org/projects/rubygems/" target="_blank">rubygem</a> (neste data é a 1.3.1), extraia em um diretório, entre nesse diretorio através do terminal (cd diretorioondeextrai) e execute o seguinte comando:</p>
<div class="codecolorer-container text vibrant" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br /></div></td><td><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">sudo ruby setup.rb</div></td></tr></tbody></table></div>
<p>c) Agora vamos instalar o Rails, no terminal execute:</p>
<div class="codecolorer-container text vibrant" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br /></div></td><td><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">sudo gem install rails</div></td></tr></tbody></table></div>
<p>E depois</p>
<div class="codecolorer-container text vibrant" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br /></div></td><td><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">sudo gem install sqlite3-ruby mongrel capistrano</div></td></tr></tbody></table></div>
<p>d) Agora vamos instalar o mysql e suas bibliotecas, o instalador pedirá pra você escolher uma senha para o usuário root do mysql, eu deixo em branco, pois só uso minha maquina pra desenvolvimento, mas se quiser é só digitar a senha que preferir, no caso de maquinas de produção, pelo amor de Deus, você DEVE por uma senha&#8230;rs.</p>
<div class="codecolorer-container text vibrant" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br /></div></td><td><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">sudo apt-get install mysql-server mysql-client libdbd-mysql-ruby libmysqlclient15-dev</div></td></tr></tbody></table></div>
<p>Tive por base <a href="http://www.rubyhead.com/2008/04/25/installing-ruby-rails-on-ubuntu-804-hardy-heron/" target="_blank">este post</a> que era para o ubuntu 8.04. Pronto! neste momento seu ambiente ruby, rails e mysql já está configurado, vamos agora ajustar o gedit.</p>
<p><strong>3 etapa: Instalando os plugins para o Gedit</strong></p>
<p>O Gedit vem instalado por padrão no ubuntu/gnome, entáo só vamos incrementá-lo.</p>
<p>a) vamos começar instalando um pacote padrão de plugins</p>
<div class="codecolorer-container text vibrant" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br /></div></td><td><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">sudo apt-get install gedit-plugins</div></td></tr></tbody></table></div>
<p>b) Agora vamos baixar o <a href="http://github.com/lexrupy/gmate/tree/master" target="_blank">Gmate</a>, criado pelo <a href="http://alexandredasilva.wordpress.com/" target="_blank">Alexandre</a>, que recomendo a todos que usam o gedit e rails acompanharem pois ele tem feito muita coisa legal, fica aqui também os meus parbéns para o <a href="http://alexandredasilva.wordpress.com/" target="_blank">Alexandre</a>.</p>
<p>Na página do <a href="http://github.com/lexrupy/gmate/tree/master" target="_blank">Gmate</a> no github tem as instruções para a instalação do mesmo. Outro plugin que eu sempre instalo e não está no gmate é o <a href="http://code.google.com/p/advanced-bookmarks-gedit-plugin/" target="_blank">Advanced Bookmarks</a> (no final da página mostra como instalar).</p>
<p>LEMBRE-SE: para ativar esses plugins e ajustar o visual e as demais configurações do Gedit você deve clicar em Editar-&gt;Preferências ai você poderá ajustar da sua maneira.</p>
<p>d) E tem mais, segue os links para instalar o <a href="http://alexandredasilva.wordpress.com/2008/06/15/notificacoes-de-testes-novidades/" target="_blank">notificador de testes (autotest)</a> e <a href="http://alexandredasilva.wordpress.com/2008/05/22/fonte-monaco-no-ubuntugedit/" target="_blank">melhorar a aparencia da famosa fonte Monaco no Ubuntu/Gedit</a>.</p>
<p>UPDATE: <span style="text-decoration: underline;"><strong>Instalando fonts:</strong></span> Uma das maneiras de instalar fonts no ubuntu é criar um diretório chamado .fonts na pasta home/seunomedeusuario e colocolar as fontes que deseja dentro dele, atenção para o . (ponto) antes do nome fonts, isso significa que o diretório será oculto e da próxima vez você não o verá por padrão, mas basta dar um ctrl+h que todos os diretórios ocultos aparecerão inclusive o .fonts é claro&#8230;.dããã.</p>
<p><strong>4 etapa: Instalando mais ferramentas (Git, Subversion, etc)</strong></p>
<p>a) Instalar o git.</p>
<div class="codecolorer-container text vibrant" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br /></div></td><td><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">sudo apt-get install git-core git-doc git-svn git-gui gitk</div></td></tr></tbody></table></div>
<p>git-svn é para integração com repositórios subversion, e git-gui e gitk são front-end para o git no caso você poderia escolher apenas um.</p>
<p>b) Instalar o subversion</p>
<div class="codecolorer-container text vibrant" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br /></div></td><td><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">sudo apt-get install subversion subversion-tools</div></td></tr></tbody></table></div>
<p>c) Front-end para o mysql</p>
<div class="codecolorer-container text vibrant" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br /></div></td><td><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">sudo apt-get install mysql-admin mysql-query-browser</div></td></tr></tbody></table></div>
<p><span style="color: #993300;"><strong>PRONTO!</strong> É isso, epero que ajude, e quem tiver dúvidas ou sugestões é só enviar. Abraço!</span></p>
]]></content:encoded>
			<wfw:commentRss>http://www.diretoefacil.com.br/2008/10/31/ubuntu-810-rails-gedit/feed/</wfw:commentRss>
		<slash:comments>18</slash:comments>
		</item>
	</channel>
</rss>

<!-- Dynamic Page Served (once) in 0.894 seconds -->

