Doodle 0.1.9 Released

doodle version 0.1.9 has been released.

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.


0.1.9 / 2008-08-13

  • Features:

    • to_hash

    • doodle do … end blocks now support #has, #from, #must and

    • will now initialize a setter from a block by calling if
      kind is specified and kind is a Doodle or a Proc, e.g.

      class Animal
      has :species

      class Barn
      has :animals, :collect => Animal

      class Farm
      has Barn

      farm = Farm do

      this is new - will call

      barn do
      animal ‘chicken’
      animal ‘pig’

      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
    • fixed bug where required attributes defined after attributes with
      default values were not being validated (had ‘break’ instead of

This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.

| Privacy Policy | Terms of Service | Remote Ruby Jobs