README.tmpl in attributes-3.7.0 vs README.tmpl in attributes-4.0.0

- old
+ new

@@ -9,20 +9,48 @@ http://codeforpeople.com/lib/ruby SYNOPSIS attributes.rb provides a set of attr_* like method with several user friendly additions. attributes.rb is similar to the traits.rb package but - sacrifices a few features for simplicity of implementation: attributes.rb is - only 42 lines of code. + sacrifices a few features for simplicity of implementation. - the implimentation of attributes.rb borrows many of the best ideas from the + the implementation of attributes.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. + in particular the solutions of Christian Neukirchen and Florian Gross along + with concepts from the original traits lib + key features provided by attributes 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 attributes they've defined and this information is + available to client code + + - a whole suite of methods is defined by calls to #attributes including + getter, setter, query (var?) and banger (var! - which forces + re-initialization from the default value) + + - ability to define multiple attributes at once using key => value pairs + + - fast lookup of whether or not a class has defined a certain attribute + + - attributes can be defined on objects on a per singleton basis as well + + - getters acts as setters if an argument is given to them + + all this in < 100 lines of code + HISTORY + 4.0.0 + - removed dependancy on, and bundle of, pervasives + - faster. as fast as normal method definition. + - faster lookup for MyClass.attributes.include?('foobar') + 3.7.0 small patch to use 'instance_variable_defined?' instead of defined? keyword 3.5.0