Gauging interest in an ActiveRecord attributes choices feature

Seeing as a lot of big changes are going into Rails 3, I thought this might be an opportune time to try and squeeze a small feature into ActiveRecord.

What I am proposing is support for mapping ActiveRecord attribute values to display values for consumption by humans.

Quick example:

  class User < ActiveRecord::Base     attr_choices :gender, { 'm' => "Male", 'f' => 'Female'}    end

   >> @john = => 'John', :gender => 'm')    >> @john.gender    => 'm'    >> @john.gender_display # generated by the attr_choices macro    => 'Male'    >> User.gender_choices # for use in select helpers    => [["Male", 'm'], ['Female', 'f']]

This facility already exists in at least one more framework that I know of (Django). It is a very common pattern that I often see implemented with custom model methods or by using view helpers. As such, I believe it has a place in the core.

I use it as as a plugin[1] with all of my projects but what I wanted to do is ask here if there is any interest in porting it to the core.

The plugin already supports I18n and validations of inclusion and I believe it can be used to provide default values to the select helper without explicitly specifying it:

   <!-- implied gender_choices as second parameter -->    <%= :gender %>