ingydotnet/moos-pm — pull request #10 by tobyink (2012-11-05 15:46:34+00:00)
Title: Role improvements

OK, this patch improves support for roles:

* it implements the `does` and `DOES` methods which allow you to check whether a class/object does a role. These should be roughly Moose-compatible.
* it expands the current Role::Tiny-based `with` keyword, adding support for Moose roles too.
* it moves the bulk of the role application logic out of `with` itself and into the metaclass.
* after applying roles, it loops through the role's attributes, adding them to the Moos metaclass, which means the constructor is now aware of the attributes.
* test cases and documentation for the above.