<?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>Herminio Torres &#187; Plugins</title>
	<atom:link href="http://www.herminiotorres.com/blog/category/plugins/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.herminiotorres.com/blog</link>
	<description>Ruby helps programmers have more fun!</description>
	<lastBuildDate>Wed, 21 Jul 2010 22:32:32 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>Rails: ActiveRecord::Validations para validar o formato e a veracidade dos e-mail</title>
		<link>http://www.herminiotorres.com/blog/2009/08/20/rails-activerecordvalidations-para-validar-o-formato-e-a-veracidade-dos-e-mail/</link>
		<comments>http://www.herminiotorres.com/blog/2009/08/20/rails-activerecordvalidations-para-validar-o-formato-e-a-veracidade-dos-e-mail/#comments</comments>
		<pubDate>Thu, 20 Aug 2009 20:53:05 +0000</pubDate>
		<dc:creator>Herminio</dc:creator>
				<category><![CDATA[Geral]]></category>
		<category><![CDATA[Plugins]]></category>
		<category><![CDATA[Regex]]></category>
		<category><![CDATA[Ruby]]></category>
		<category><![CDATA[RubyOnRails]]></category>
		<category><![CDATA[ActiveRecord]]></category>
		<category><![CDATA[email]]></category>
		<category><![CDATA[Format]]></category>
		<category><![CDATA[Plugin Email_Veracity]]></category>
		<category><![CDATA[rails]]></category>
		<category><![CDATA[Validations]]></category>

		<guid isPermaLink="false">http://www.herminiotorres.com/blog/?p=72</guid>
		<description><![CDATA[Todos nós sabemos que o Rails tem validações prontas para serem utilizadas. Isso se dá ao fato da sua classe de herdar do ActiveRecord. Uma maneira bastante utilizada é validar o formato de um email utilizando expressões regulares e tem o rubular para fazer testes desses matchers. Assim: class Person &#60; ActiveRecord::Base validates_format_of :email, :with [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">Todos nós sabemos que o <a href="http://api.rubyonrails.org/" target="_blank">Rails</a> tem validações prontas para serem utilizadas. Isso se dá ao fato da sua classe de herdar do <a href="http://api.rubyonrails.org/classes/ActiveRecord/Validations/ClassMethods.html" target="_blank">ActiveRecord</a>.</p>
<p style="text-align: justify;">Uma maneira bastante utilizada é validar o formato de um email utilizando <a href="http://guia-er.sourceforge.net/" target="_blank">expressões regulares</a> e tem o <a href="http://www.rubular.com/" target="_blank">rubular</a> para fazer testes desses matchers. Assim:</p>
<pre>class Person &lt; ActiveRecord::Base
    validates_format_of :email,
                        :with =&gt; /\A([^@\s]+)@((?:[-a-z0-9]+\.)+[a-z]{2,})\Z/i
end</pre>
<p style="text-align: justify;">Bem, com isso conseguimos nossa validação de um formato mas não está 100% perfeita, pois permite que o usuário possa digitar um email não valido passando apenas no <a href="http://api.rubyonrails.org/classes/ActiveRecord/Validations/ClassMethods.html#M002168" target="_blank">format</a>, por exemplo:</p>
<pre>#
# email invalido pois não tem nenhum servidor de email que responda por gmail.com em vez de gmail.com
#
alguma_coisa@gmaio.com</pre>
<p style="text-align: justify;">Por isso iremos utilizar o plugin <a href="http://github.com/heycarsten/email-veracity/tree/master" target="_blank">Email-Veracity</a>. E vamos melhorar a nossa validação, basta ir na pagina do <em>Email-Veracity</em> e fazer o download do plugin para a pasta <em><span style="text-decoration: underline;">vendor/plugins/</span></em> no seu projeto.</p>
<pre>require 'email_veracity'

class Person &lt; ActiveRecord::Base
    validates_format_of :email,
                        :with =&gt; /\A([^@\s]+)@((?:[-a-z0-9]+\.)+[a-z]{2,})\Z/i,
                        :if =&gt; :is_a_valid_email?

    def is_a_valid_email?
        address = EmailVeracity::Address.new("#{self.email}")
        address.valid?
    end
end</pre>
<p style="text-align: justify;">Bem, agora podemos verificar se é um email 100% validado, onde fazemos um <a href="http://blog.areacriacoes.com.br/2008/9/18/include-require-load-e-extend-em-ruby" target="_blank"><em>require</em></a> no <em>modulo</em> de <em>email_veracity</em> e incluimos um <em>if </em>no <em>validates_format_of </em>que faz uma chamada ao método <em>is_a_valid_email?</em> se esse método retorna <em>true</em> faz a validação se retorna <em>false</em> não valida, podemos notar que o método implicitamente da um <em>return</em> em <em>address.valid?</em> bem é isso espero que tenham gostado.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.herminiotorres.com/blog/2009/08/20/rails-activerecordvalidations-para-validar-o-formato-e-a-veracidade-dos-e-mail/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Rails para upload de arquivos e imagens usando o plugin paperclip</title>
		<link>http://www.herminiotorres.com/blog/2009/03/24/rails-para-upload-de-arquivos-e-imagens-usando-o-plugin-paperclip/</link>
		<comments>http://www.herminiotorres.com/blog/2009/03/24/rails-para-upload-de-arquivos-e-imagens-usando-o-plugin-paperclip/#comments</comments>
		<pubDate>Tue, 24 Mar 2009 13:12:51 +0000</pubDate>
		<dc:creator>Herminio</dc:creator>
				<category><![CDATA[Geral]]></category>
		<category><![CDATA[Plugins]]></category>
		<category><![CDATA[Ruby]]></category>
		<category><![CDATA[RubyOnRails]]></category>
		<category><![CDATA[arquivo]]></category>
		<category><![CDATA[imagem]]></category>
		<category><![CDATA[paperclip]]></category>
		<category><![CDATA[plugin]]></category>
		<category><![CDATA[rails]]></category>
		<category><![CDATA[upload]]></category>

		<guid isPermaLink="false">http://www.herminiotorres.com/blog/?p=23</guid>
		<description><![CDATA[Bem, irei mostrar como fazer upload de arquivos utilizando o paperclip e poderemos notar como é super simples de utilizar. Se o arquivo for imagem iremos precisar do imagemagick instalado na maquina onde irá ficar sua aplicação, pois o plugin utiliza o imagemagick para mexer com imagens. Para o download do paperclip existe duas maneiras. [...]]]></description>
			<content:encoded><![CDATA[<p>Bem, irei mostrar como fazer upload de arquivos utilizando o <a href="http://thoughtbot.com/projects/paperclip" target="_blank">paperclip</a> e poderemos notar como é super simples de utilizar. Se o arquivo for imagem iremos precisar do <a href="http://www.imagemagick.org" target="_blank">imagemagick</a> instalado na maquina onde irá ficar sua aplicação, pois o plugin utiliza o imagemagick para mexer com imagens.</p>
<p>Para o download do paperclip existe duas maneiras. Uma é baixando pelo próprio <a href="http://guides.rubyonrails.org/" target="_blank">rails</a> e a outra é indo no site e fazendo o download e descompactando na sua aplicação.</p>
<p><script type="text/javascript" src="http://gist.github.com/84048.js"></script></p>
<p>O paperclip por sua vez requerer algumas colunas no modelo para que seja necessário o seu funcionamento. E quais são elas?</p>
<p><script type="text/javascript" src="http://gist.github.com/84057.js"></script></p>
<p>Pois bem, digamos que na sua aplicação exista o modelo user, onde cada user contem uma imagem que é o seu avatar.  Podemos fazer o seguinte:</p>
<p><script type="text/javascript" src="http://gist.github.com/84061.js"></script></p>
<p>Agora iremos trabalhar o paperclip a nível de model. Vamos colocar toda a nossa regra de negocio e veremos como o sistema deverá tratar o upload de arquivos.</p>
<p><script type="text/javascript" src="http://gist.github.com/84064.js"></script></p>
<p>Bem não iremos fazer nenhuma modificação nos controllers. Então vamos partir para as views e finalizar o nosso tutorial.</p>
<p>Primeiramente vamos criar um partial, onde essa view será comum tanto para as telas de <em>new.html.erb</em> como <em>edit.html.erb</em>. Em sua aplicação vá até<em> SUA_APLICAÇÂO/app/view/users/</em> e crie um arquivo chamado <em>_user.html.erb</em> e veja como será o código desse arquivo.</p>
<p><script type="text/javascript" src="http://gist.github.com/84070.js"></script></p>
<p>Agora, que temos o partial <em>_user.html.erb</em> precisamos adaptar as telas de <em>edit.html.erb</em> e <em>new.html.erb</em> então vamos seguir o seguinte código:</p>
<p><script type="text/javascript" src="http://gist.github.com/84072.js"></script></p>
<p>E nas views <em>index.html.erb</em> e <em>show.html.erb</em> iremos fazer a chamada da imagem.</p>
<p><script type="text/javascript" src="http://gist.github.com/84094.js"></script></p>
<p>Finalmente terminamos o nosso objetivo de fazer com que a nossa aplicação faça upload de arquivos. E caso você queira saber mais sobre o paperclip basta acessar a sua Documentação/<a href="http://dev.thoughtbot.com/paperclip/" target="_blank">RDoc</a> ou entrar na <a href="http://groups.google.com/group/paperclip-plugin" target="_blank">lista de discussão</a> do paperclip. É isso pessoal espero que tenham gostado.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.herminiotorres.com/blog/2009/03/24/rails-para-upload-de-arquivos-e-imagens-usando-o-plugin-paperclip/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Utilizando o Rails 2.2 para enviar email via gmail por smtp/imap</title>
		<link>http://www.herminiotorres.com/blog/2009/02/27/utilizando-o-rails-22-para-enviar-email-via-gmail-por-smtp-imap/</link>
		<comments>http://www.herminiotorres.com/blog/2009/02/27/utilizando-o-rails-22-para-enviar-email-via-gmail-por-smtp-imap/#comments</comments>
		<pubDate>Sat, 28 Feb 2009 02:32:02 +0000</pubDate>
		<dc:creator>Herminio</dc:creator>
				<category><![CDATA[Geral]]></category>
		<category><![CDATA[Plugins]]></category>
		<category><![CDATA[RubyOnRails]]></category>
		<category><![CDATA[email]]></category>
		<category><![CDATA[enviar]]></category>
		<category><![CDATA[gmail]]></category>
		<category><![CDATA[imap]]></category>
		<category><![CDATA[rails2.2]]></category>
		<category><![CDATA[smtp]]></category>

		<guid isPermaLink="false">http://www.herminiotorres.com/blog/?p=15</guid>
		<description><![CDATA[Bem, irei mostrar como o Rails utilizará um servidor de email via smtp / imap para mandar emails. Onde teremos o uso do gmail, mas poderá ser qualquer provedor. 1. Primeiramente ter o rails instalado e funcionando. 2. Depois iremos instalar um plugin para agilizar o nosso trabalho, o plugin se chama action_mailer_optional_tls. Como instalar [...]]]></description>
			<content:encoded><![CDATA[<p>Bem, irei mostrar como o Rails utilizará um servidor de email via <a href="ttp://pt.wikipedia.org/wiki/Simple_Mail_Transfer_Protocol" target="_blank">smtp</a> / <a href="http://pt.wikipedia.org/wiki/Imap" target="_blank">imap</a> para mandar emails. Onde teremos o uso do gmail, mas poderá ser qualquer provedor.</p>
<p>1. Primeiramente ter o rails instalado e funcionando.<br />
2. Depois iremos instalar um plugin para agilizar o nosso trabalho, o plugin se chama <a href="http://github.com/collectiveidea/action_mailer_optional_tls/tree/master" target="_blank">action_mailer_optional_tls</a>.</p>
<p>Como instalar o plugin? Existem duas maneiras.</p>
<p>A primeira maneira é instalar usando os scripts do próprio rails.</p>
<p><script type="text/javascript" src="http://gist.github.com/71839.js"></script> ou A segunda maneira é ir no site do plugin e clicar em download e descompactar na pasta:  <script type="text/javascript" src="http://gist.github.com/71841.js"></script></p>
<p>Após ter instalado o plugin, basta abrir o arquivo e incluir as seguintes linhas, em:</p>
<p><script type="text/javascript" src="http://gist.github.com/71843.js"></script> depois disto vamos criar um mailer:  <script type="text/javascript" src="http://gist.github.com/71844.js"></script></p>
<p>Após executar o comando acima, basta abrir este arquivo e incluir essas informações, para a funcionalidade de confirmar via email que a conta do usuário foi criada.</p>
<p><script type="text/javascript" src="http://gist.github.com/71845.js"></script> Esse será o template utilizado que será enviado no corpo da mensagem, e estamos utilizando texto, já pensando nas pessoas que só recebem emails do tipo texto.  <script type="text/javascript" src="http://gist.github.com/71848.js"></script></p>
<p>E para finalizar vamos colocar a chamada na action create do controller de users para que seja enviado email assim que o usuário for criado e savo no banco de dados.</p>
<p>Vamos incluir no controller:<br />
<script type="text/javascript" src="http://gist.github.com/71847.js"></script></p>
<p>Bem, agora basta você implementar na sua aplicação e testar, para mais informações basta acessar o <a href="http://guides.rubyonrails.org/action_mailer_basics.html" target="_blank">Rails Guides</a>!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.herminiotorres.com/blog/2009/02/27/utilizando-o-rails-22-para-enviar-email-via-gmail-por-smtp-imap/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
	</channel>
</rss>
