Archive for the ‘Ruby’ Category

Ruby Enterprise Edition

Friday, June 13th, 2008

Hoje tomei vergonha na cara e instalei o Ruby Enterprise Edition (podia abreviar para Ruby EE, mas falar o nome inteiro dá um ar de importância a este post) no meu Gentoo.

Então ok. Instalei o mod_rails e comecei a brincar. É um negócio interessante e promissor. Então resolvi instalar o Ruby Enterprise Edition para ver se a história dos 33% é verdade mesmo ou se é só história e me deparei com esse erro:

/opt/ruby-enterprise-1.8.6-20080507/bin/ruby: no such file to load -- auto_gem (LoadError)

Gem faltando? OK. Basta abrir o código e descobrir qual é a Gem, certo? Não. O código é bem enxuto e não parecia ter nada faltando. E eu estava sem paciência de ler (:-) ). Então basta recorrer ao Google.

Caí nesse site: http://fatpenguinblog.com/scott-rippee/usrbinruby-no-such-file-to-load-auto_gem-loaderror/

E adaptei minha linha de comando:

RUBYOPT="" ./ruby-enterprise-1.8.6-20080507/installer

Agora vou lá conferir a história dos 33%… :-)

http://www.rubyenterpriseedition.com/comparisons.html

P.S.: Sim. Eu sei que a história dos 33% é apenas para efeitos de comparação e cada caso é um caso. E eu sei também que Rails não escala… :-)

resource_controller x redirect_to

Monday, March 17th, 2008

Continuando minha eterna aventura com Ruby on Rails ontem, me deparei querendo usar o método redirect_to junto com o plugin resource_controller, do James Golick.

Bem, o que poderia dar errado? Aparentemente nada. Mas eis que surge um erro:

undefined method `redirect_to' for #<resourcecontroller::failableactionoptions:0x4b05b90>

“Sem problemas”, eu pensei. O que, provavelmente, estava acontecendo, era que o meu controller, de alguma forma, estava herdando apenas de ResourceController::Base e esqueceu do ActionController::Base. Logo, tudo o que eu tenho que fazer, é arrumar a herança e continuar usando o plugin. Certo? É… Digamos que sim…

De acordo com a documentação do plugin, bastava chamar o método resource_controller que ele se encarregaria de todo o trabalho sujo por mim. OK. Vamos lá:

  1. class CommentsController < ApplicationController
  2.   resource_controller
  3.  
  4.   belongs_to :post, :article, :photo
  5.  
  6.   create do
  7.     redirect_to :back
  8.   end
  9. end

Não tem como dar erro, né? Eu também achei…

undefined method `redirect_to' for ActionController::Base:Class

Perguntando na rubyonrails-talk, eu não consegui muita coisa. Por isso, fui além da terceira página do Google e encontrei a seguinte discussão:

http://groups.google.com/group/resource_controller/browse_thread/thread/b4657a4109d6eccd

Agora foi só mudar meu código:

  1. class CommentsController < ApplicationController
  2.   resource_controller
  3.  
  4.   belongs_to :post, :article, :photo
  5.  
  6.   create do
  7.     wants.html { redirect_to :back }
  8.   end
  9. end

E tudo funcionou perfeitamente.
O que mais me causou estranhamento, foi o fato de que a documentação não cita (pelo menos, não claramente para mim) esse porém, e não há (até onde procurei) nenhuma documentação online.

E, infelizmente, eu não posso fazer nada enquanto não dominar o plugin… :-(

Test Notifier gem para Ruby + RedGreen

Friday, November 23rd, 2007

Depois de ler a dica do Nando Vieira sobre como exibir o resultados dos testes usando o libnotify, eu comecei a brincar com o ZenTest e com o RedGreen. Mas, ao usar o RedGreen com o Test_Notifier, a bolha (para mim) ficava vazia.

Fuçando no código, eu acabei vendo que o pessoal sobrecarregou o método to_s da classe TestResult, criando um alias para o método antigo. Confuso? Sim. Mas altere a linha 40 do arquivo /usr/lib/ruby/gems/1.8/gems/test_notifier-0.0.1/lib/test_notifier.rb:

De:

system(”notify-send -i #{image} #{title} \”#{@result.to_s}\”")

Para:

system(”notify-send -i #{image} #{title} \”#{@result.old_to_s}\”")

E tenha tudo funcionando… :-)