Fork me on GitHub

Keep Learning Conhecimento nunca é o bastante

Posts com a tag Ruby

Postado em
2 March 2010 @ 15:17

Tag(s)
Gem, Ruby

Sentinel: agora, mais transparente do que nunca

Em Janeiro criei a gem Sentinel, que provê a funcionalidade do padrão Observer de forma transparente para código Ruby. Bom, olhando os exemplos de uso da primeira versão, é possível perceber que a biblioteca não é tão transparente assim: apesar de não alterar os métodos observados, a classe subject tem conhecimento do observer, o que […]


Postado em
7 January 2010 @ 16:46

Tag(s)
Ruby

Sentinel: observers transparentes para seu código Ruby

Para uma determinada funcionalidade no Busk, precisava “trackear” todas as buscas feitas no site pelos usuários. Existem várias maneiras de conseguir esse resultado. Decidi por, de alguma forma, interceptar as chamadas ao método responsável pelas buscas (que faz o tratamento da query de busca enviada pelo usuário e chama o Sphinx). Uma das formas de […]


Postado em
18 September 2009 @ 15:11

Tag(s)
Dicas, Ruby

O ActiveSupport mexeu no seu logger? Recupere a formatação original!

Recentemente estava escrevendo um script de manutenção utilizando o logger padrão do Ruby e tudo estava indo muito bem. A formatação padrão do logger oferece uma boa quantidade de informação, com timestamp, id do processo, nível da mensagem (erro, informação etc), como na imagem abaixo: Pouco depois, resolvi utilizar o ActiveRecord (que carrega junto o […]


Cuidado com o DRY nos seus testes

Don’t Repeat Yourself é um dos princípios de desenvolvimento de software mais “badalados” nos últimos tempos. O problema é que, como tudo que se torna popular, isso acaba sendo abusado. Numa tentativa de criar código limpo é comum criar código difícil de entender. Isso afeta principalmente os testes. Testes devem ser extremamente legíveis. Não deve […]


Testes envolvendo tempo: usando a gem time-warp

É comum que precisemos “manipular o tempo” quando escrevendo testes para código cujo comportamento depende do momento no tempo. Uma técnica comum é utilizar um mock ou stub na classe Time do Ruby para manipular o horário de acordo com o desejado. Isso vai contra um princípio importante do uso de fake objects em testes: […]


← Anterior Próxima →