O Hash Rocket está obsoleto?

A publicação do foguete RIP Hash bem citada parece implicar que a syntax do Hash Rocket ( :foo => "bar" ) está obsoleta em favor do hash do estilo JSON new-to-Ruby ( foo: "bar" ), mas eu Não é possível encontrar qualquer referência definitiva informando que a forma Hash Rocket está realmente obsoleta / desaconselhada a partir do Ruby 1.9.

O autor desse post do blog está sendo excessivamente dramático e tolo, o => ainda é bastante necessário . Em particular:

  1. Você deve usar o foguete para símbolos que requerem citação:: :'where.is' => x é válido, mas 'where.is': x não é. O Ruby 2.2 corrigiu esse problema para que você possa dizer 'where.is': x no Ruby 2.2+.
  2. Você deve usar o foguete para símbolos que não são labels válidos :$set => x é válido, mas $set: x não é. Em Ruby 2.2+ você pode contornar este problema com aspas: '$set': x fará a coisa certa.
  3. Você deve usar o foguete se você usar chaves em seus hashes que não são símbolos: 's' => x é válido, mas 's': x é algo completamente diferente.

Você pode avaliar o que está acima da maneira óbvia, é claro:

 h = { } h[:'where.is'] = 'pancakes house?' # etc. 

mas isso é apenas feio e desnecessário.

O foguete não vai a lugar nenhum sem danificar as Hashes de Ruby.