S
Sean O'Halpin
doodle version 0.2.3 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.2.3 / 2009-03-06
- Features:
- collect can now take multiple types, e.g.
has :shapes, :collect => [Circle, Square]
or
has :shapes, :collect => {:circle => Circle, :square => Square}
- to_json and from_json - see
http:://doodle.rubyforge.org/doodle-json.html for details
- can now specify :must and :from directly in #has params hash, e.g.
has :answer, :from => { String => proc {|c| c.to_i } },
:must => { "be 42" => proc {|c| c == 42 } }
- added #assigned? for attributes, e.g.
if obj.assigned?name) # => true if @name exists
- added key_values:
class Foo < Doodle
has :name
has :count
end
Foo.new('a', 1).doodle.key_values # => [[:name, "a"], [:count, 1]]
- and key_values_without_defaults
- added :expand => [false|true] to Doodle::App::Filename - expands
path if set to true. Default = false
- all specs pass on jruby-1.2.0RC2 and ruby 1.8.7p72
- plus more docs + specs
* <http://doodle.rubyforge.org>
* <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.2.3 / 2009-03-06
- Features:
- collect can now take multiple types, e.g.
has :shapes, :collect => [Circle, Square]
or
has :shapes, :collect => {:circle => Circle, :square => Square}
- to_json and from_json - see
http:://doodle.rubyforge.org/doodle-json.html for details
- can now specify :must and :from directly in #has params hash, e.g.
has :answer, :from => { String => proc {|c| c.to_i } },
:must => { "be 42" => proc {|c| c == 42 } }
- added #assigned? for attributes, e.g.
if obj.assigned?name) # => true if @name exists
- added key_values:
class Foo < Doodle
has :name
has :count
end
Foo.new('a', 1).doodle.key_values # => [[:name, "a"], [:count, 1]]
- and key_values_without_defaults
- added :expand => [false|true] to Doodle::App::Filename - expands
path if set to true. Default = false
- all specs pass on jruby-1.2.0RC2 and ruby 1.8.7p72
- plus more docs + specs
* <http://doodle.rubyforge.org>