Hi -- On Sat, 6 Sep 2008, Jason Lillywhite wrote: > It seems odd that cattr_* (i.e. cattr_accessor, cattr_reader, > cattr_writer) is not in the native Ruby and that you have to require > active support and rubygems to get this to work. Including the rails > stuff appears to slow things down a little. Why is this not built in the > native Ruby source? I can't answer that directly, but I can tell you why I'm glad it isn't. It's partly that class variables are a bit oddball to start with, and I'm not eager to see them used a lot more. But it's also the terminology. An "attribute" is, or should be, an attribute of an object. But class variables are not object-specific; they're very promiscuous, visible to a class, its instances, and all the subclasses and all their instances. Therefore, a class variable is not an appropriate choice for representing an "attribute". The fit between instance variables, as a language-level construct, and "attribute", as a concept, is very good; but class variables are very different from instance variables, and the "attr" terminology is very loose. (The methods may have uses, but the names are problematic.) David -- Rails training from David A. Black and Ruby Power and Light: Intro to Ruby on Rails January 12-15 Fort Lauderdale, FL Advancing with Rails January 19-22 Fort Lauderdale, FL * * Co-taught with Patrick Ewing! See http://www.rubypal.com for details and updates!