Forum: Ruby doodle 0.1.9 Released

Announcement (2017-05-07): www.ruby-forum.com is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see rubyonrails.org/community and ruby-lang.org/en/community for other Rails- und Ruby-related community platforms.
E1d641bfe4071a5413bac781f06d3fd1?d=identicon&s=25 Sean O'halpin (sean)
on 2008-12-15 16:35
(Received via mailing list)
doodle version 0.1.9 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.9 / 2008-08-13
- Features:
  - to_hash
  - doodle do .. end blocks now support #has, #from, #must and
    #arg_order
  - will now initialize a setter from a block by calling kind.new if
    kind is specified and kind is a Doodle or a Proc, e.g.

    class Animal
      has :species
    end

    class Barn
      has :animals, :collect => Animal
    end

    class Farm
      has Barn
    end

    farm = Farm do
      # this is new - will call Barn.new(&block)
      barn do
        animal 'chicken'
        animal 'pig'
      end
    end

    Will not try this for an attribute with :abstract => true

  - attributes now have :doc option
  - attributes now have :abstract option - will not try to
    auto-instantiate an object from this class
  - attributes now have a :readonly attribute - will not allow setting
    outside initialization
  - Doodle::Utils
    - deep_copy(obj)
    - normalize_keys!(hash, recursive = false, method = :to_sym),
      optionally recurse into child hashes
    - symbolize_keys!(hash, recursive = false)
    - stringify_keys!(hash, recursive = false)

- Experimental:
  - Doodle::App for handlng command line application options
  - doodle/datatypes - added more datatypes

- Bug fixes:
  - fixed reversion in 0.1.8 which enabled full backtrace from within
    doodle.rb
  - fixed bug where required attributes defined after attributes with
    default values were not being validated (had 'break' instead of
'next')

* <http://doodle.rubyforge.org>
This topic is locked and can not be replied to.