Silenciar aviso de descontinuação da macro do VCR

Esperançosamente, este salvará alguém 10 minutos de escavações.

Usamos o videocassete em todos os projetos da Hooroo e estamos muito gratos por isso.

Recentemente, os contribuidores decidiram descontinuar a sintaxe ‘Macro’ para VCR’ing um exemplo em favor do uso de metadados RSpec em seu lugar.

Eu li o longo tópico sobre o assunto e, embora concorde com o sentimento geral do autor, ele representa uma mudança significativa na API. Um que exigiria muita refatoração de nossa parte para corrigir todas as especificações afetadas.

O resultado é que nossa saída de especificações agora está repleta de literalmente centenas de mensagens dizendo:

WARNING: VCR::RSpec::Macros is deprecated. Use RSpec metadata options instead `:vcr => vcr_options` 

Então, se como eu, você ainda não pode perder tempo para alterar todos os testes para usar a nova API, colocar isso em seu arquivo spec_helper.rb pelo menos silenciará os avisos por enquanto:

# add this:
module VCR::RSpec::Macros
def self.extended(base)
end
end

# right above the existing:
config
.extend(VCR::RSpec::Macros)

Isso corrige o método da classe Macros.extended, que é responsável apenas por registrar o aviso. Embora o monkey-patching como este geralmente não seja aconselhável, deve ser seguro, uma vez que as macros não estão mais em desenvolvimento ativo.

Se o seu pacote usa a sintaxe macro com a mesma freqüência que a nossa, tenho certeza de que você descobrirá quando eles forem totalmente removidos!

~ Stu