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.

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’)

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