Skip to content
Giovani

Cansado de conferir o schema.rb

rails1 min read

O Rails nos dá algumas facilidades que parecem mágica. A não-necessidade de importar os módulos que queremos usar, a metaprogramação da linguagem Ruby, os generators presentes no framework... Entre outras. Para mim, o maior contraste com outras linguagens é como fazer muito escrevendo tão pouco quando comparado. E isso tem o seu lado ruim também.

Quando criamos um novo modelo, não precisamos declarar no arquivo ruby (model.rb) todos os campos presentes naquele modelo. Geralmente, só mencionamos os campos que precisam de alguma validação ou que estão presentes em algum método para aquele modelo. E toda vez que queremos saber algum campo que não é mencionado: ctrl + f no schema.rb. O que não é exatamente a forma mais rápida e agradável que gostaríamos, ainda mais quando o campo é mencionado em diferentes tabelas, a tabela é mencionada em outras tabelas, indexes e etc.

Com a gem (Annotate)[https://github.com/ctran/annotate_models], podemos facilmente adicionar um comentário ao fim do código no model.rb com a estrutura da tabela referente aquele model, no mesmo formato que encontramos no schema.rb, algo tipo:

1# == Schema Info
2#
3# Table name: line_items
4#
5# id :integer(11) not null, primary key
6# quantity :integer(11) not null
7# product_id :integer(11) not null
8# unit_price :float
9# order_id :integer(11)
10#

Maravilha, né?

Obama dizendo "Special... Beautiful"