segunda-feira, 28 de setembro de 2009

Rails loves Firebird

Para fazer o Rails falar com o Firebird, levando-se em conta que o Firebird 2.1 e o Rails estão instalados.

$ sudo apt-get install firebird2.1-dev
$ sudo gem install fb
$ sudo gem install fb_adapter


O nome do adapter é 'fb'. Para criar registros, é necessário ter um generator com o nome #{table_name}_seq Não testei com migrations, então não sei se um create_table também criaria o generator.

Tentei usar o recurso de alias do Firebird e não funcionou aqui. Só com o caminho completo até o banco do Firebird.

Tanto o fb (acesso a Firebird com Ruby) quanto fb_adapter (adaptador de Firebird para Rails) estão disponíveis em http://github.com/rowland.


OBS: Caso esteja tendo problemas com o uso desta gem, leia os comentários.

quinta-feira, 17 de setembro de 2009

Instalação do Glassfish v2

Ao instalar o Glassfish-v2, não esquecer de, além de rodar o jar, seguir os passos aqui.

sexta-feira, 11 de setembro de 2009

Apache + Passenger retornando 404 para qualquer coisa

Ao rodar o Apache + Passenger agora há pouco, estava obtendo sempre um erro 404. Olhando nos logs de erro do apache:
# tail /var/log/apache2/error.log
[Fri Sep 11 11:24:50 2009] [error] [client 172.20.6.9] File does not exist: /var/www/solicitacoes
[Fri Sep 11 11:26:16 2009] [error] [client 172.20.6.9] File does not exist: /var/www/solicitacoes


Muito estranho, já que meu virtual host apontava para uma pasta completamente diferente. Vamos ver então como o apache está vendo os virtual hosts:
# apache2ctl -S
apache2: Could not reliably determine the server's fully qualified domain name, using 172.20.6.250 for ServerName
VirtualHost configuration:
wildcard NameVirtualHosts and _default_ servers:
*:80 is a NameVirtualHost
default server 172.20.6.250 (/etc/apache2/sites-enabled/000-default:1)
port 80 namevhost 172.20.6.250 (/etc/apache2/sites-enabled/000-default:1)
port 80 namevhost 172.20.6.250 (/etc/apache2/apache2.conf:287)
Syntax OK


Há dois virtual hosts na porta 80, e um deles, aquele da pasta sites-enabled, não é o que eu configurei. Solução? rm no arquivo /etc/apache2/sites-enabled/000-default e tudo ok.

segunda-feira, 7 de setembro de 2009

Erro ao rodar RSpec ou Cucumber em aplicação Rails

Ao rodar specs aqui eu vinha obtendo o erro:
$ rake spec
/var/lib/gems/1.8/gems/activesupport-2.3.3/lib/active_support/dependencies.rb:105:in `const_missing': uninitialized constant Test::Unit::TestResult::TestResultFailureSupport (NameError)


Algumas soluções encontradas na rede recomendavam adicionar um require 'test/unit' no environment.rb, tudo muito estranho. Atualizei todas as gems e nada. Até que fuçando a configuração aqui, comecei a desinstalar algumas gems suspeitando de conflito. Então, quando desinstalei o mocha, tudo passou a funcionar. É importante notar que o projeto foi recém-criado e não tinha nenhuma referência ao mocha.

De qualquer modo, isto não trouxe qualquer problema adicional, já que o RSpec oferece uma API de mocking.

[edit] No arquivo spec/spec_helper.rb gerado pelo script/generate rspec há uma configuração comentada onde é possível estabelecer que o framework de mocking a ser usado seja o mocha.