<?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>Valério Farias &#187; shell</title>
	<atom:link href="http://valeriofarias.com/tag/shell/feed/" rel="self" type="application/rss+xml" />
	<link>http://valeriofarias.com</link>
	<description>(Tecnologia + Negócios) = :)</description>
	<lastBuildDate>Tue, 29 Mar 2011 21:07:52 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Acessando o Twitter via Interactive Ruby Shell (irb)</title>
		<link>http://valeriofarias.com/twitter-via-irb-ruby/</link>
		<comments>http://valeriofarias.com/twitter-via-irb-ruby/#comments</comments>
		<pubDate>Sun, 14 Jun 2009 05:36:40 +0000</pubDate>
		<dc:creator>Valrio Farias</dc:creator>
				<category><![CDATA[Ruby]]></category>
		<category><![CDATA[api]]></category>
		<category><![CDATA[irb]]></category>
		<category><![CDATA[shell]]></category>
		<category><![CDATA[twitter]]></category>

		<guid isPermaLink="false">http://geyserway.com/?p=127</guid>
		<description><![CDATA[Estava procurando por uma solução simples em Ruby para fazer o update de mensagens via irb.
Achei as seguintes opções de classes Ruby:

Twitter -&#62; John Nunemaker ( essa é a mais completa )
Twittery &#8211; uma classe bem simplista que faz upload de fotos pela TwitPic&#8217;s API. Esse projeto é administrado por Chris Ledet

Eu tomei como base [...]]]></description>
			<content:encoded><![CDATA[<p>Estava procurando por uma solução simples em Ruby para fazer o update de mensagens via irb.<br />
Achei as seguintes opções de classes Ruby:</p>
<ul>
<li><a href="http://twitter.rubyforge.org/">Twitter</a> -&gt; John Nunemaker ( essa é a mais completa )</li>
<li><a href="http://rubyforge.org/projects/twittery/">Twittery</a> &#8211; uma classe bem simplista que faz upload de fotos pela TwitPic&#8217;s API. Esse projeto é administrado por Chris Ledet</li>
</ul>
<p>Eu tomei como base para aprendizado, a classe do projeto Twittery, pois queria uma solução rápida e simples. Apesar dela não ter a segurança do protocolo de autenticação oAuth que já consta no projeto de John Nuremaker.</p>
<h2>A idéia foi a seguinte: colocar o código Ruby para ser pré-carregado no arquivo .irbrc toda vez que o irb for acionado via shell.</h2>
<p>Depois de vários teste o código final você pode ver abaixo:</p>
<pre class="brush: ruby; ">

# twitting by irb
require &#039;net/http&#039;

class Object
  def twitter_config(username, password)
    @username = username
    @password = password
  end

# the message must be between 1 and 160 characters
  def twitter(status = nil, format = &#039;json&#039;)
     if status.empty? or status.length &gt; 160
        puts &quot;twitter &#039;message with spaces&#039;             (IRB)&quot;
        puts &quot;Obs. (The message must been less than 160 characters and cannot be empty)&quot;
     else
        api_url = &#039;http://twitter.com/statuses/update.&#039; + format
        url = URI.parse(api_url)
        req = Net::HTTP::Post.new(url.path)
        req.basic_auth(@username, @password)
        req.set_form_data({ &#039;status&#039;=&gt; status }, &#039;;&#039;)
        res = Net::HTTP.new(url.host, url.port).start {|http| http.request(req) }
        puts res
     end
 end
alias :twit :twitter
end

twitter_config(&#039;username&#039;, &#039;password&#039;)
</pre>
<p>Os dados de usário e senha já são pré-carregados na inicialização do irb. A vantagem é que esses dados ficam ocultos no arquivo .irbrc, dando um pouquinho de privacidade, caso tenha alguém do lado. <img src='http://valeriofarias.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>Para &#8220;twittar&#8221; é só usar o seguinte comando, a qualquer momento, dentro do irb:</p>
<pre class="brush: ruby; ">

irb&gt; twitter &quot;mensagem via irb&quot;

ou ainda

irb&gt; twit &quot;outra mensagem via irb&quot;
</pre>
<blockquote><p>Obs.: Esse exemplo usa a forma de autenticação mais simples, via HTTP. O twitter está em processo de mudança da autenticação para usar <a href="http://oauth.net/">oAuth</a>. A tendência é que a autenticação básica via HTTP deixe de ser usada, mas isso ainda vai demorar um pouco. Enquanto isso não acontece, vou continuar &#8220;twittando&#8221; por esse script via irb. <img src='http://valeriofarias.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p></blockquote>
<p>Fico por aqui.</p>
<p>Até a próxima.</p>
]]></content:encoded>
			<wfw:commentRss>http://valeriofarias.com/twitter-via-irb-ruby/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>

