All for Joomla All for Webmasters
Ruby

O método dig do Ruby – Explicações e exemplos

Desde a versão 2.3, a linguagem de programação Ruby disponibilizou um novo método para as classes Array  e Hash . O propósito desse método é, como o nome sugere, “escavar” objetos que podem não possuir uma estrutura muito bem definida (como objetos de API’s de terceiros, por exemplo). Basicamente essa funcionalidade retorna o valor recuperado dado um conjunto de chaves para vasculhar. Se o valor não for encontrado, é retornado nulo. Abaixo demonstro alguns exemplos de aplicação.

Rails – parâmetros

Quando você manipula valores de formulários e seus atributos, eventualmente terá que lidar com hashes aninhadas. Vamos supor que você queira converter os valores de checkboxes para inteiros:

O código fica consideravelmente mais legível do que a forma extensa abaixo, especialmente considerando casos onde o nível do aninhamento é alto e essa extensão compromete a legibilidade.

Lidando com API’s

Imagine que você está recebendo os seguintes valores de uma API JSON:

Com o método #dig você pode navegar pela estrutura sem se preocupar com valores nulos ou atributos inválidos, sem a necessidade de lidar com exceções do objeto de resposta. Suponhamos que você quer selecionar alguns dados do objeto e apresentar na sua view:

Fácil, certo? E muito mais elegante do que usar uma série de métodos #try do ActiveSupport . É apeans Ruby, nativo!

E quanto ao desempenho?

Vamos comparar o método #dig com velhas formas de acessar os valores em Hashes e Arrays:

 

No pior cenário, o método demanda 1.5x mais tempo do que o acesso direto. Levando-se em consideração o número de operações por segundo do processamento X o tamanho do objeto, a performance não se mostra um empecilho, especialmente considerando o ganho em versatilidade. Quaisquer dúvidas ou sugestões, utilize a área de comentários ou entre em contato!


Fonte: https://tiagoamaro.com.br/2016/08/27/ruby-2-3-dig/

Você Também Pode Gostar

Nenhum Comentário

Deixe uma Resposta