<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	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/"
	>
<channel>
	<title>Comments for Geyser Way</title>
	<atom:link href="http://geyserway.com/comments/feed/" rel="self" type="application/rss+xml" />
	<link>http://geyserway.com</link>
	<description>Criatividade em todos os sentidos</description>
	<pubDate>Wed, 10 Mar 2010 15:24:55 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.7.1</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>Comment on Brincando com números binários by Vamos estudar informática &#124; Geyser Way</title>
		<link>http://geyserway.com/brincando-com-numeros-binarios/comment-page-1/#comment-105</link>
		<dc:creator>Vamos estudar informática &#124; Geyser Way</dc:creator>
		<pubDate>Wed, 30 Sep 2009 16:23:02 +0000</pubDate>
		<guid isPermaLink="false">http://geyserway.com/?p=226#comment-105</guid>
		<description>[...] Brincadeira do contador binário com pessoas    Software: [...]</description>
		<content:encoded><![CDATA[<p>[...] Brincadeira do contador binário com pessoas    Software: [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Início da era digital (tradução) by Vamos estudar informática &#124; Geyser Way</title>
		<link>http://geyserway.com/inicio-da-era-digital/comment-page-1/#comment-104</link>
		<dc:creator>Vamos estudar informática &#124; Geyser Way</dc:creator>
		<pubDate>Mon, 28 Sep 2009 22:03:20 +0000</pubDate>
		<guid isPermaLink="false">http://geyserway.com/?p=252#comment-104</guid>
		<description>[...] Inicio da era digital (tradução) [...]</description>
		<content:encoded><![CDATA[<p>[...] Inicio da era digital (tradução) [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Vamos honrar Galileu! by Leandro Romanzini</title>
		<link>http://geyserway.com/vamos-honrar-galileu/comment-page-1/#comment-100</link>
		<dc:creator>Leandro Romanzini</dc:creator>
		<pubDate>Tue, 08 Sep 2009 22:08:50 +0000</pubDate>
		<guid isPermaLink="false">http://geyserway.com/?p=233#comment-100</guid>
		<description>Belo texto. Parabéns.</description>
		<content:encoded><![CDATA[<p>Belo texto. Parabéns.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Chega de tanta reclamação! by Vamos honrar Galileu! &#124; Geyser Way</title>
		<link>http://geyserway.com/chega-de-tanta-reclamacao/comment-page-1/#comment-99</link>
		<dc:creator>Vamos honrar Galileu! &#124; Geyser Way</dc:creator>
		<pubDate>Sun, 30 Aug 2009 19:08:59 +0000</pubDate>
		<guid isPermaLink="false">http://valeriofarias.wordpress.com/?p=36#comment-99</guid>
		<description>[...] que não se esforçam para criar uma visão sistêmica (falo sobre visão sistêmica no post: chega de tanta reclamação)  e participativa. Esse tipo de pessoa só sabe reclamar de tudo ao redor e não faz nada para [...]</description>
		<content:encoded><![CDATA[<p>[...] que não se esforçam para criar uma visão sistêmica (falo sobre visão sistêmica no post: chega de tanta reclamação)  e participativa. Esse tipo de pessoa só sabe reclamar de tudo ao redor e não faz nada para [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Papo-de-Nerd: Caindo na Real sobre a carreira by Vamos honrar Galileu! &#124; Geyser Way</title>
		<link>http://geyserway.com/papo-de-nerd-caindo-na-real/comment-page-1/#comment-98</link>
		<dc:creator>Vamos honrar Galileu! &#124; Geyser Way</dc:creator>
		<pubDate>Sun, 30 Aug 2009 19:04:13 +0000</pubDate>
		<guid isPermaLink="false">http://geyserway.com/?p=163#comment-98</guid>
		<description>[...] levar por aparência, estatus e se escondem atrás dos cargos (eu falo sobre isso no meu post: caindo na real sobre a carreira ).  Para piorar ainda mais a situação, existem algumas pessoas com espírito de porco, que não [...]</description>
		<content:encoded><![CDATA[<p>[...] levar por aparência, estatus e se escondem atrás dos cargos (eu falo sobre isso no meu post: caindo na real sobre a carreira ).  Para piorar ainda mais a situação, existem algumas pessoas com espírito de porco, que não [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Ruby + irb + utility-belt + gedit = :) by silfar</title>
		<link>http://geyserway.com/ruby-irb-utility-belt-gedit/comment-page-1/#comment-95</link>
		<dc:creator>silfar</dc:creator>
		<pubDate>Fri, 14 Aug 2009 15:31:39 +0000</pubDate>
		<guid isPermaLink="false">http://geyserway.com/?p=105#comment-95</guid>
		<description>Era exatamente o que eu procurarva, mas aqui nem o gedit nem o vim estão funcinando:

silfar@silfar-nix:~$ irb
&gt;&gt; vi
NameError: undefined local variable or method `vi' for main:Object
	from (irb):1
&gt;&gt; gedit
NameError: undefined local variable or method `gedit' for main:Object
	from (irb):2
&gt;&gt; 

pode me ajudar ?</description>
		<content:encoded><![CDATA[<p>Era exatamente o que eu procurarva, mas aqui nem o gedit nem o vim estão funcinando:</p>
<p>silfar@silfar-nix:~$ irb<br />
&gt;&gt; vi<br />
NameError: undefined local variable or method `vi&#8217; for main:Object<br />
	from (irb):1<br />
&gt;&gt; gedit<br />
NameError: undefined local variable or method `gedit&#8217; for main:Object<br />
	from (irb):2<br />
&gt;&gt; </p>
<p>pode me ajudar ?</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Acessando o Twitter via Interactive Ruby Shell (irb) by Valério Farias</title>
		<link>http://geyserway.com/twitter-via-irb-ruby/comment-page-1/#comment-81</link>
		<dc:creator>Valério Farias</dc:creator>
		<pubDate>Fri, 03 Jul 2009 16:08:00 +0000</pubDate>
		<guid isPermaLink="false">http://geyserway.com/?p=127#comment-81</guid>
		<description>Mauricio. Eu fiz os testes aqui e detectei que tanto faz o meu jeito ou o seu.
O resultado é o mesmo. (se você tiver outro exemplo de código pode mandar :) )

Digite os seguintes comandos no irb:
# Object.class.superclass             # =&gt; Module  
# Object.class.superclass.superclass  # =&gt; Object  -&gt; Topo da hierarquia

Já deu pra perceber que a &lt;a href="http://www.google.com.br/search?q=hierarquia+das+classes+no+ruby&amp;ie=utf-8&amp;oe=utf-8&amp;aq=t&amp;rls=com.ubuntu:pt-BR:unofficial&amp;client=firefox-a" rel="nofollow"&gt;hierarquia de classes no ruby&lt;/a&gt; segue o padrão: 
Object -&gt; Module -&gt; Class

Isso indica que tudo herda a configuração da classe Object.

Se você digita self.class no irb aparece: 

[code='Ruby']self.class
=&gt; Object[/code]

Isso quer dizer que tanto faz eu digitar no irb somente os métodos: 

[code='Ruby']def say 
 "hello"
end[/code]

Ou incluir o método literalmente na classe object:

[code='Ruby']
class Object
	def say
		"hello"
	end
end[/code]

Nos dois exemplos acima o método say estará incluído na classe Object e qualquer outra classe herdará esse método, já que tudo herda de Object.

O Problema do meu exemplo inicial é que o método twitter_config utiliza variáveis de instância e eu inicializo no arquivo .irbrc como uma instância da classe Object

[code='Ruby']twitter_config('username', 'password')[/code]

Para usar 1.twit como você sugere, no meu exemplo eu tenho que iniciar uma instância da classe inteiro:  

[code='Ruby']1.twitter_config('username', 'password')[/code]

Mas tenho outra sugestão para deixar o código do jeito que você quer. É só mudar as variáveis de instância para variáveis de classe. Pois, apesar dos valores do usuário e senha serem armazenados inicialmente na classe Object, qualquer instância de qualquer classe poderá ter acesso a esses valores: string, integer, etc.

O código final utilizando variáveis de classe é o seguinte

[code='Ruby']def twitter_config(username, password)
     @@username = username
     @@password = password
end[/code]

No método twitter é só modificar a linha 19 para: 
[code='Ruby']req.basic_auth(@@username, @@password) # só acrescentei outro arroba para usar variáveis de classe ao invés de instância.[/code]

Agora é só brincar!

Mauricio, pode enviar mais sugestões. Só aprendi tudo isso hoje graças ao seu exemplo. O propósito aqui é experimentar, trocar idéias e aprender cada vez mais em conjunto. 

Um grande abraço.</description>
		<content:encoded><![CDATA[<p>Mauricio. Eu fiz os testes aqui e detectei que tanto faz o meu jeito ou o seu.<br />
O resultado é o mesmo. (se você tiver outro exemplo de código pode mandar <img src='http://geyserway.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> )</p>
<p>Digite os seguintes comandos no irb:<br />
# Object.class.superclass             # => Module<br />
# Object.class.superclass.superclass  # => Object  -> Topo da hierarquia</p>
<p>Já deu pra perceber que a <a href="http://www.google.com.br/search?q=hierarquia+das+classes+no+ruby&#038;ie=utf-8&#038;oe=utf-8&#038;aq=t&#038;rls=com.ubuntu:pt-BR:unofficial&#038;client=firefox-a" rel="nofollow">hierarquia de classes no ruby</a> segue o padrão:<br />
Object -> Module -> Class</p>
<p>Isso indica que tudo herda a configuração da classe Object.</p>
<p>Se você digita self.class no irb aparece: </p>
<pre class="brush: ruby; ">
self.class
=&gt; Object
</pre>
<p>Isso quer dizer que tanto faz eu digitar no irb somente os métodos: </p>
<pre class="brush: ruby; ">
def say
 &quot;hello&quot;
end
</pre>
<p>Ou incluir o método literalmente na classe object:</p>
<pre class="brush: ruby; ">

class Object
	def say
		&quot;hello&quot;
	end
end
</pre>
<p>Nos dois exemplos acima o método say estará incluído na classe Object e qualquer outra classe herdará esse método, já que tudo herda de Object.</p>
<p>O Problema do meu exemplo inicial é que o método twitter_config utiliza variáveis de instância e eu inicializo no arquivo .irbrc como uma instância da classe Object</p>
<pre class="brush: ruby; ">
twitter_config(&#039;username&#039;, &#039;password&#039;)
</pre>
<p>Para usar 1.twit como você sugere, no meu exemplo eu tenho que iniciar uma instância da classe inteiro:  </p>
<pre class="brush: ruby; ">
1.twitter_config(&#039;username&#039;, &#039;password&#039;)
</pre>
<p>Mas tenho outra sugestão para deixar o código do jeito que você quer. É só mudar as variáveis de instância para variáveis de classe. Pois, apesar dos valores do usuário e senha serem armazenados inicialmente na classe Object, qualquer instância de qualquer classe poderá ter acesso a esses valores: string, integer, etc.</p>
<p>O código final utilizando variáveis de classe é o seguinte</p>
<pre class="brush: ruby; ">
def twitter_config(username, password)
     @@username = username
     @@password = password
end
</pre>
<p>No método twitter é só modificar a linha 19 para: </p>
<pre class="brush: ruby; ">
req.basic_auth(@@username, @@password) # só acrescentei outro arroba para usar variáveis de classe ao invés de instância.
</pre>
<p>Agora é só brincar!</p>
<p>Mauricio, pode enviar mais sugestões. Só aprendi tudo isso hoje graças ao seu exemplo. O propósito aqui é experimentar, trocar idéias e aprender cada vez mais em conjunto. </p>
<p>Um grande abraço.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Acessando o Twitter via Interactive Ruby Shell (irb) by Valério Farias</title>
		<link>http://geyserway.com/twitter-via-irb-ruby/comment-page-1/#comment-80</link>
		<dc:creator>Valério Farias</dc:creator>
		<pubDate>Fri, 03 Jul 2009 14:36:45 +0000</pubDate>
		<guid isPermaLink="false">http://geyserway.com/?p=127#comment-80</guid>
		<description>Beleza Maurício, Valeu pela dica! Vou testar aqui.</description>
		<content:encoded><![CDATA[<p>Beleza Maurício, Valeu pela dica! Vou testar aqui.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Acessando o Twitter via Interactive Ruby Shell (irb) by Mauricio</title>
		<link>http://geyserway.com/twitter-via-irb-ruby/comment-page-1/#comment-79</link>
		<dc:creator>Mauricio</dc:creator>
		<pubDate>Fri, 03 Jul 2009 03:01:28 +0000</pubDate>
		<guid isPermaLink="false">http://geyserway.com/?p=127#comment-79</guid>
		<description>Ao invés de colocar os métodos dentro da classe Object, é melhor definir eles fora da classe... pq dessa forma, vc permite coisas malucas tipo 

"".twit "Uma Mensagem"
1.twit "Outra mensagem"</description>
		<content:encoded><![CDATA[<p>Ao invés de colocar os métodos dentro da classe Object, é melhor definir eles fora da classe&#8230; pq dessa forma, vc permite coisas malucas tipo </p>
<p>&#8220;&#8221;.twit &#8220;Uma Mensagem&#8221;<br />
1.twit &#8220;Outra mensagem&#8221;</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Papo-de-Nerd: Desenhando com o lado direito do cérebro by Papo-de-Nerd: Conversa sobre linguagens de programação &#124; Geyser Way</title>
		<link>http://geyserway.com/desenhando-com-lado-direito-cerebro/comment-page-1/#comment-76</link>
		<dc:creator>Papo-de-Nerd: Conversa sobre linguagens de programação &#124; Geyser Way</dc:creator>
		<pubDate>Thu, 25 Jun 2009 02:49:53 +0000</pubDate>
		<guid isPermaLink="false">http://geyserway.com/?p=134#comment-76</guid>
		<description>[...] de Nerd de hoje, vou ampliar um pouco o paradigma: Além dos surtos de nerdice que eu comecei no primeiro artigo. Vou incluir também algo parecido com aquelas conversas de boteco, que depois de algumas doses, [...]</description>
		<content:encoded><![CDATA[<p>[...] de Nerd de hoje, vou ampliar um pouco o paradigma: Além dos surtos de nerdice que eu comecei no primeiro artigo. Vou incluir também algo parecido com aquelas conversas de boteco, que depois de algumas doses, [...]</p>
]]></content:encoded>
	</item>
</channel>
</rss>
