Rails model files contain no information on the tables they represent. This is a good thing in general, because it reduces duplication—add a column to a table, and there’s no configuration to update in the model.
However, when you’re writing code, it’s sometimes nice to be able to see just what attributes a model has.
Enter annotate models, a really trivial Rails plugin I hacked up in the plane back from the first No Fluff of the year. The plugin adds a comment block to the top of each model file, documenting the schema. If you update the schema, run it again and it updates the comment.
# Schema as of Mon Feb 27 00:55:58 CST 2006 (schema version 7)
#
# id :integer(11) not null
# name :string(255)
# description :text
# image_location :string(255)
# price :float default(0.0)
# available_at :datetime
#
class Product < ActiveRecord::Base
validates_presence_of :name, :description
. . .
Install using:
$ script/plugin install <a href="http://repo.pragprog.com/svn/Public/plugins/annotate_models">http://repo.pragprog.com/svn/Public/plugins/annotate_models</a>
and run with:
$ rake annotate_models
It only handles models directly under app/models. And, as it’s new, you’d be advised to back up your model files before running it.
Please keep it clean, respectful, and relevant.
I reserve the right to remove comments I don't feel belong.
- NickName, E-Mail, and Website are optional. If you supply an e-mail, we'll notify you of activity on this thread.
- You can use Markdown in your comment (and preview it using the magnifying glass icon in the bottom toolbar).