Ruby 2.30

Algumas funcionalidades da versão 2.30 do ruby que podem deixar o seu código mais limpo e legível. Pensando nisso, vamos ver alguns exemplos que podem melhorar seu código.

Dig

O novo método “dig”, é um método de instancia, utilizado para acessar valores devidamente aninhados. Perceba que a sintaxe fica mais limpa, para acessar o nome do contato.

pessoa = { pessoa: { contato: { nome: ‘Mario’, obs: ‘Armario’ } } }

Forma antiga:

pessoa[:pessoa][:contato][:nome] # => “Mario”

Usando dig:

pessoa.dig(:pessoa, :contato, :nome) # => “Mario”

pessoa.dig(:pessoa, :contato22, :nome) # => nil

Grep

Vamos fazer uma seleção dos objetos por tipo. Antes tínhamos que fazer uma iteração com uma lista, agora podemos fazer de forma mais simples.

valores = [2, 2.0, nil, ‘teste’]

Forma Antiga:

valores.select{|v| v.class == String} # => [“teste”]

Usando grep:

valores.grep(String) # => [“teste”]

Converter um hash para um proc

hash = { a: 10, b: 20, c: 30}

chaves = %i[a c z]

chaves.map(&hash) # => [10, 30, nil]

Esse é o primeiro post do meu Blog, espero que ajude alguém. Sempre devemos pensar e tentar fazer código limpo e claro, que qualquer pessoa possa modificar e entender o que esse código está fazendo.