— rails — 1 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 Info2#3# Table name: line_items4#5# id :integer(11) not null, primary key6# quantity :integer(11) not null7# product_id :integer(11) not null8# unit_price :float9# order_id :integer(11)10#
Maravilha, né?