Changes for version 0.03_02

  • Moose
    • you must now explictly use Moose::Util::TypeConstraints it no longer gets exported for you automatically
  • Moose::Object
    • new() now accepts hash-refs as well as key/value lists
    • added does() method to check for Roles
      • added tests for this
  • Moose::Meta::Class
    • added roles attribute along with the add_role() and does_role() methods
      • added tests for this
  • Moose::Meta::Role
    • now adds a does() method to consuming classes which tests the class's hierarchy for roles
      • added tests for this

Changes for version 0.03_01

  • Moose::Cookbook
    • added new Role recipe (no content yet, only code)
  • Moose
    • added 'with' keyword for Role support
      • added test and docs for this
    • fixed subtype quoting bug
      • added test for this
  • Moose::Role
    • Roles for Moose
      • added test and docs
  • Moose::Util::TypeConstraints
    • added the message keyword to add custom error messages to type constraints
  • Moose::Meta::Role
    • the meta role to support Moose::Role
      • added tests and docs
  • Moose::Meta::Class
    • moved a number of things from Moose.pm to here, they should have been here in the first place
  • Moose::Meta::Attribute
    • moved the attribute option macros here instead of putting them in Moose.pm
  • Moose::Meta::TypeConstraint
    • added the message attributes and the validate method
      • added tests and docs for this

Documentation

How to cook a Moose
The (always classic) Point example.
A simple BankAccount example
A lazy BinaryTree example
Subtypes, and modeling a simple Company class hierarchy
More subtypes, coercion in a Request class
The Moose::Role example

Modules

Moose, it's the new Camel
The Moose attribute metaclass
The Moose metaclass
The Moose Role metaclass
The Moose Type Coercion metaclass
The Moose Type Constraint metaclass
The base object for Moose
The Moose Role
Type constraint system for Moose

Provides

in lib/Moose/Meta/Class.pm
in lib/Moose/Meta/Role.pm