Ruby 2.30
15 Aug 2016Algumas 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.