NAME fattr.rb INSTALL gem install fattrs URIS http://codeforpeople.com/lib/ruby http://rubyforge.org/projects/codeforpeople/ http://codeforpeople.rubyforge.org/svn/ SYNOPSIS fattr.rb is a "fatter attr" for ruby. fattr.rb supercedes attributes.rb as that library, even though it added only one method to the global namespace, collided too frequently with user code - in particular rails' code. the implementation of fattr.rb borrows many of the best ideas from the metakoans.rb ruby quiz http://www.rubyquiz.com/quiz67.html in particular the solutions of Christian Neukirchen and Florian Gross along with concepts from the original traits.rb lib key features provided by fattrs are - ability to specify default values for attrs and definition time. values can be literal objects or blocks, which are evaluated in the context of self to initialize the variable - classes remember which fattrs they've defined and this information is available to client code - a whole suite of methods is defined by calls to #fattrs including getter, setter, query (var?) and banger (var! - which forces re-initialization from the default value/block) - ability to define multiple fattrs at once using key => value pairs - fast lookup of whether or not a class has defined a certain fattr - fattrs can be defined on objects on a per singleton basis - getters acts as setters if an argument is given to them - block caching, calling an fattr with a block sets the instance variable to that block all this in < 100 lines of code HISTORY 5.0.0: port from attributes.rb retaining all the same features of that version of attributes.rb SAMPLES @samples