doodle version 0.1.8 has been released.
* <
http://doodle.rubyforge.org>
Doodle is a gem for simplifying the definition of Ruby classes by
making attributes and their properties more declarative. Doodle is
eco-friendly: it does not globally modify Object, Class or Module.
Changes:
## 0.1.8 / 2008-05-13
- Features:
- now applies instance level conversions (class level #from) to
attribute values, e.g.
class Name < String
include Doodle::Core
from String do |s|
Name.new(s)
end
end
class Person < Doodle
has Name
end
person = Person 'Arthur'
person.name.class # => Name
- better error reporting
- kind can now take an array of classes or modules to match against,
- e.g.
has :name, :kind => [String, Symbol]
- kind with no args now returns an array of kinds (possibly empty)
- Bug fixes:
- #has with class param was not enforcing :kind constraint
- moved more methods into DoodleInfo. You should now access metadata
via:
- obj.doodle.attributes
- obj.doodle.conversions
- obj.doodle.validations
- obj.doodle.parent
- obj.doodle.class_attributes
- collectors initializing too late when defined at class level
* <
http://doodle.rubyforge.org>