X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?p=gitmo%2FMouse.git;a=blobdiff_plain;f=lib%2FMouse%2FSpec.pm;h=75de0f60292a1042fbfc27932d15f1da516b1360;hp=53137b0a6c3de2a386322baa6675e4cbee781df2;hb=4fbbc6564dcc9332bb0c8dc073e66fb4d82fdf9d;hpb=e8e500b1acf4e2414dfa823fc1b552f51c912236 diff --git a/lib/Mouse/Spec.pm b/lib/Mouse/Spec.pm index 53137b0..75de0f6 100644 --- a/lib/Mouse/Spec.pm +++ b/lib/Mouse/Spec.pm @@ -2,13 +2,152 @@ package Mouse::Spec; use strict; use warnings; -our $VERSION = '0.37'; +our $VERSION = '0.50_02'; our $MouseVersion = $VERSION; -our $MooseVersion = '0.90'; +our $MooseVersion = '0.93'; sub MouseVersion{ $MouseVersion } sub MooseVersion{ $MooseVersion } 1; __END__ + +=head1 NAME + +Mouse::Spec - To what extent Mouse is compatible with Moose + +=head1 VERSION + +This document describes Mouse version 0.50_02 + +=head1 SYNOPSIS + + use Mouse::Spec; + + printf "Mouse/%s is compatible with Moose/%s\n", + Mouse::Spec->MouseVersion, Mouse::Spec->MooseVersion; + +=head1 DESCRIPTION + +Mouse is a subset of Moose. This document describes to what extend Mouse is +compatible with Moose. + +=head2 Compatibility with Moose + +The sugary API is highly compatible with Moose. + +=head2 Incompatibility with Moose + +=head3 Meta object protocols + +Any MOP in Mouse has no attributes by default. + +For this reason, C<< $metaclass->meta->make_immutable() >> does not yet work as you expect. +B. + +=head3 Mouse::Meta::Instance + +Meta instance mechanism is not implemented. + +=head3 Role exclusion + +Role exclusion, C, is not implemented. + +=head3 -metaclass in Mouse::Exporter + +C<< use Mouse -metaclass => ... >> are not implemented. +Use C<< use Mouse -traits => ... >> instead. + +=head3 Mouse::Meta::Attribute::Native + +Native traits are not supported directly, but C is +available on CPAN. Once you have installed it, you can use it as the same way +in Moose. That is, native traits are automatically loaded by Mouse. + +See L for details. + +=head2 Notes about Moose::Cookbook + +Many recipes in L fit L, including: + +=over 4 + +=item * + +L - The (always classic) B example + +=item * + +L - A simple B example + +=item * + +L - A lazy B example + +=item * + +L - Subtypes, and modeling a simple B class hierarchy + +=item * + +L - More subtypes, coercion in a B class + +=item * + +L - The augment/inner example + +=item * + +L - Making Moose fast with immutable + +=item * + +L - Builder methods and lazy_build + +=item * + +L - Operator overloading, subtypes, and coercion + +=item * + +L - Using BUILDARGS and BUILD to hook into object construction + +=item * + +L - The Moose::Role example + +=item * + +L - Advanced Role Composition - method exclusion and aliasing + +=item * + +L - Applying a role to an object instance + +=item * + +L - A meta-attribute, attributes with labels + +=item * + +L - Labels implemented via attribute traits + +=item * + +L - Providing an alternate base object class + +=back + +=head1 SEE ALSO + +L + +L + +L + +L + +=cut +