Cairo’sBlog

Apenas mais um sobre tecnologia

Posts Tagueados ‘rails

Lumine 1.0, mudanças chegarão!

com 9 comentários

Eu comecei meu desenvolvimento profissional com PHP, e não faz muito tempo não, cerca de 6 meses. E com o PHP, eu comecei utilizado alguns frameworks, CodeIgniter, Lumine, Xajax, e dentre deles, um me chamou muito a atenção, o Lumine.

Leia o resto deste post »

Escrito por Cairo Noleto

24 Fevereiro, 2008 em 10:29

Test-driven development on Rails

sem comentários

Comecei um projeto pessoal, que já vi um muito bom rodando, Spesa, feito pelo Nando Vieira (sempre queria saber quem tinha criado o spesa, e por acaso descobri) e outro no rails-br bem interessante, em AJAX.

Após isso, tambem resolvi fazer o meu gerenciador financeiro! Assim como o Nando Vieira, irei colocar todas as regras de negocio realmente no negocio, evitando deixar tudo em Stored Procedures.

Nesse projeto, resolvi usar utilizar esta tecnica, e segui um tutorial rapído do Nando Vieira.

Depois de implementar 12 testes, tive problemas com dois, e achei uma coisa estranha, fiz passar, mas eu acho que tem alguma coisa errado, e não é no codigo implementado.

O método MD5.hexdigest() retorna uma hash MD5, e para o teste, faço a comparação da String que estou criado pro objeto user com a mesma string passando direto pelo método.

assert_equal(Digest::MD5.hexdigest("caironoleto"), user.password)

Só que a MD5 experada é diferente da MD5 que é passada, mesmo sendo os mesmos métodos, e mesmo sendo a mesma String.

Para resolver, antes de salvar o objeto, atribui o valor a uma nova variavel, assim criando a MD5 correta.


def test_of_password_in_new_user
user = create(:password => "caironoleto")
expected = user.password
user.save
assert_equal(Digest::MD5.hexdigest(expected), user.password)
end

Se algum railer ver, por favor, deixa comentario e explica o que está acontecendo.

Até a proxima!

UPDATE:

Realmente tem uma coisa estranha! E a pior das coisas, ela está entre o computador e a cadeira! (HoiahoiehAOIEHaO).

Simplesmente o código estava errado, nem métodos, ou nada disso, e sim o que estava fazendo.

Simplesmente por que quando utilizo o método create, ele realmente cria, aplicando assim a validação que passei pelo modelo e já salvando o objeto no banco de dados. E depois, eu mandava ele “salvar” repetindo a mesma coisa. Só que fazendo a MD5 da MD5 que já estava lá, gerando erro quando tentava comparar a MD5 direta pelo método Digest::MD5.hexadigest(“caironoleto”).

O que eu tava fazendo aí em cima dava certo, por que ele está armazendo em expected a MD5 que foi criada.

Agora sim respiro aliviado!

Até a proxima!

Escrito por Cairo Noleto

8 Fevereiro, 2008 em 17:54

Ajuda ae por favor!

sem comentários

Olá pessoas, gostaria de saber como faço um Menu dinamico sendo alterado conforme o controlador no Ruby On Rails. Tentei buscar o nome do controlador na visão de layout, mas não deu muito certo, quem tiver mais experiencia e ler, por favor, post um comentario!!

Abraços e até a proxima!

Escrito por Cairo Noleto

12 Janeiro, 2008 em 14:01

Publicado em Ruby on Rails

Etiquetado com , ,