From: Kevin Howe Date: 2005-05-04T07:54:50+09:00 Subject: Re: [ANN] traits-0.0.0 Very cool, this is along the lines of something I've been toying with for the next version of Nemo (rubyforge.org/projects/nemo). Nemo tags class attributes (traits) with display-related metadata, then later uses it to render an html table or html edit form. The trait version might look something like this: class Foo mtrait :name, :label=>'Full Name', :required=>true mtrait :birthday, :type=>:date, :required=>true end foo = Foo.new foo.name = 'Joe' foo.birthday = Date.today Editor.new(foo).render This would display an html form with two required text fields labelled "Full Name" and "Birthday". Hitting the save button updates the object instance with the given input, assuming it passes all validations. I've been wanting to abstract out the metadata definition into a generic mechanism for defining metadata on any attribute, but if this were added to traits that would pretty much be it. Thoughts? Also, how does trains handle inheritance? Let's say we have A < B, then B adds a few more traits, will A's @__trait data remain unaffected? - Kevin