Redirecionando de volta no Rails

Queria só fazer um post rápido de um truque que eu não conhecia =P

O comando redirect_to :back faz exatamente o ele diz (óbvio): redireciona o usuário de volta para página que o mesmo estava.

Esse comando é similar ao redirect_to request.env["HTTP_REFERER"], por isso não se esqueça de setar o HTTP_REFERER no seu teste de controller.

Algo bacana desse redirect é que ele leva os params também, então se o usuário estava em página de busca cheia de filtros, nada será perdido.

Comments

Instalando uma versão específica de uma fórmula no Homebrew

Fiquei brincando um pouco com os comandos do brew e surgiu uma dúvida: como instalar versões específicas no Homebrew?

Atualize

Antes de mais nada, atualize suas fórmulas com o seguinte comando:

brew update

Instalando uma versão específica

Para listar as versões disponíveis para uma fórmula, utilize:

brew versions phantomjs

Você terá uma lista parecida com essa:

1
2
3
4
5
6
7
8
9
10
11
1.8.1    git checkout 1a69283 /usr/local/Library/Formula/phantomjs.rb
1.8.0    git checkout 7b4df06 /usr/local/Library/Formula/phantomjs.rb
1.7.0    git checkout d37d922 /usr/local/Library/Formula/phantomjs.rb
1.6.1    git checkout 6b8d25f /usr/local/Library/Formula/phantomjs.rb
1.6.0    git checkout 9c7885b /usr/local/Library/Formula/phantomjs.rb
1.5.0    git checkout dbcbe16 /usr/local/Library/Formula/phantomjs.rb
1.4.1    git checkout cfbdf22 /usr/local/Library/Formula/phantomjs.rb
1.3.0    git checkout 5848860 /usr/local/Library/Formula/phantomjs.rb
1.2.0    git checkout c50bbb8 /usr/local/Library/Formula/phantomjs.rb
1.1.0    git checkout 4e7c332 /usr/local/Library/Formula/phantomjs.rb
1.0.0    git checkout 0476235 /usr/local/Library/Formula/phantomjs.rb
Continuar lendo →
Comments

Vá direto pro código antes de pesquisar

No começo desse mês recebi uma newsletter do Jesse Storimer que achei muito interessante e resolvi fazer uma réplica.

Como o texto foi transmitido via newsletter não encontrei nenhum link direto pro artigo. Então irei tentar repassar a experiência nesse post, ao invés de copiar e colar o post dele em algum lugar.

Batendo na parede

Uma situação bem comum: estamos desenvolvendo e esbarramos em algum problema/bug que não conseguimos resolver. O que fazemos? Pesquisamos no Google.

Mas isso não é uma boa prática. Ok, muitas vezes você vai cair certinho naquele link no StackOverflow falando o que você precisa fazer e até muitas vezes o próprio mantenedor responde determinada questão. Mas, outras vezes, nem que um ‘42’ apareça na sua frente você encontra a resposta.

Essa resposta que você tanto procura, sempre esteve em um único lugar: no código.

Continuar lendo →
Comments

O que é Teste de Regressão?

Há um tempo já me pego lendo e ouvindo esse termo e nunca tinha entendido exatamente quais eram os momentos que eu deveria fazê-lo, então aproveitei para fazer um review completo sobre ‘O que é Teste de Regressão?’.

Qual o objetivo do teste de software?

Identificar suas falhas para que a correção seja feita antes da entrega do produto ao usuário final.

Como um teste de regressão surge?

Um componente novo ou modificado pode falhar quando usado com componentes inalterados, causando defeito nos componentes inalterados pela geração de efeitos colaterais ou pelas características de interação.

Quando isso ocorre, diz-se que o sisteme sobre testes regrediu, por isso esses testes são chamados de testes de regressão.

Em poucas palavras, você quebrou o teste de uma outra funcionalidade por conta dessa nova feature ou correção de bug.

Quando um teste de regressão é utilizado?

  • durante o desenvolvimento iterativo
  • depois da depuração
  • no primeiro passo de uma integração
  • na manutenção de software

E dentro do escopo de Orientação a Objetos?

  • quando uma subclasse é desenvolvida
  • quando uma super-classe é alterada
  • quando uma classe servidora (classe que você estendeu, por exemplo)
  • quando uma correção de falha é realizada
  • quando uma classe é reusada em um novo contexto

Isso é apenas um resumo, todas informações que citei podem ser consultadas com maiores detalhes nos links abaixo.

Fontes: