From: Stevan Little Date: Fri, 14 Dec 2007 19:23:48 +0000 (+0000) Subject: 0.33 X-Git-Tag: 0_35~52 X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=commitdiff_plain;h=25374f018116dc632e1625bf401c8893c5df21ff;hp=25e1fed14c471c826f44a2f82b60ef627d1a05c0;p=gitmo%2FMoose.git 0.33 --- diff --git a/Changes b/Changes index 41773fc..4cca969 100644 --- a/Changes +++ b/Changes @@ -1,6 +1,17 @@ Revision history for Perl extension Moose -0.33 +0.33 Fri. Dec. 14, 2007 + !! Moose now loads ~45% faster !! + !! with new Class::MOP 0.49 !! + + ++ new ooose.pm module to make command line + Moose-ness easier (see POD docs for more) + + * Moose::Meta::Class + * Moose::Meta::Role + - several tweaks to take advantage of the + new method map caching in Class::MOP + * Moose::Meta::TypeConstraint::Parameterized - allow subtypes of ArrayRef and HashRef to be used as a container (sartak) @@ -9,6 +20,12 @@ Revision history for Perl extension Moose HashRef for containers (sartak) - added tests for this + * Moose::Meta::TypeCoercion + - coercions will now create subtypes as needed + so you can now add coercions to parameterized + types without having to explictly define them + - added tests for this + * Moose::Meta::Method::Accessor - allow subclasses to decide whether we need to copy the value into a new variable (sartak) diff --git a/MANIFEST b/MANIFEST index 06a32cb..83852e3 100644 --- a/MANIFEST +++ b/MANIFEST @@ -43,6 +43,7 @@ lib/Moose/Role.pm lib/Moose/Spec/Role.pod lib/Moose/Util.pm lib/Moose/Util/TypeConstraints.pm +lib/oose.pm lib/Test/Moose.pm Makefile.PL MANIFEST diff --git a/Makefile.PL b/Makefile.PL index 28b630d..aaf852f 100644 --- a/Makefile.PL +++ b/Makefile.PL @@ -12,10 +12,12 @@ my $win32 = !! ( $^O eq 'Win32' or $^O eq 'cygwin' ); # prereqs requires 'Scalar::Util' => $win32 ? '1.17' : '1.18'; requires 'Carp'; -requires 'Class::MOP' => '0.48'; +requires 'Class::MOP' => '0.49'; requires 'Sub::Name' => '0.02'; requires 'Sub::Exporter' => '0.972'; -requires 'B'; + +# only used by oose.pm, not Moose.pm :P +requires 'Filter::Simple' => '0'; # things the tests need build_requires 'Test::More' => '0.62'; diff --git a/lib/Moose/Meta/Class.pm b/lib/Moose/Meta/Class.pm index 860509d..6608fc5 100644 --- a/lib/Moose/Meta/Class.pm +++ b/lib/Moose/Meta/Class.pm @@ -9,7 +9,7 @@ use Class::MOP; use Carp 'confess'; use Scalar::Util 'weaken', 'blessed', 'reftype'; -our $VERSION = '0.16'; +our $VERSION = '0.17'; our $AUTHORITY = 'cpan:STEVAN'; use Moose::Meta::Method::Overriden; diff --git a/lib/Moose/Meta/Role.pm b/lib/Moose/Meta/Role.pm index 665b318..a4e3aa7 100644 --- a/lib/Moose/Meta/Role.pm +++ b/lib/Moose/Meta/Role.pm @@ -8,7 +8,7 @@ use metaclass; use Carp 'confess'; use Scalar::Util 'blessed'; -our $VERSION = '0.10'; +our $VERSION = '0.11'; our $AUTHORITY = 'cpan:STEVAN'; use Moose::Meta::Class; diff --git a/lib/Moose/Meta/TypeCoercion.pm b/lib/Moose/Meta/TypeCoercion.pm index 5bfd37e..394b9df 100644 --- a/lib/Moose/Meta/TypeCoercion.pm +++ b/lib/Moose/Meta/TypeCoercion.pm @@ -10,7 +10,7 @@ use Carp 'confess'; use Moose::Meta::Attribute; use Moose::Util::TypeConstraints (); -our $VERSION = '0.04'; +our $VERSION = '0.05'; our $AUTHORITY = 'cpan:STEVAN'; __PACKAGE__->meta->add_attribute('type_coercion_map' => ( diff --git a/lib/Moose/Meta/TypeConstraint/Parameterized.pm b/lib/Moose/Meta/TypeConstraint/Parameterized.pm index 68d1b4d..2bcb085 100644 --- a/lib/Moose/Meta/TypeConstraint/Parameterized.pm +++ b/lib/Moose/Meta/TypeConstraint/Parameterized.pm @@ -8,7 +8,7 @@ use Scalar::Util 'blessed'; use Carp 'confess'; use Moose::Util::TypeConstraints; -our $VERSION = '0.01'; +our $VERSION = '0.02'; our $AUTHORITY = 'cpan:STEVAN'; use base 'Moose::Meta::TypeConstraint'; diff --git a/lib/Moose/Util/TypeConstraints.pm b/lib/Moose/Util/TypeConstraints.pm index 77895fe..b0070f1 100644 --- a/lib/Moose/Util/TypeConstraints.pm +++ b/lib/Moose/Util/TypeConstraints.pm @@ -8,7 +8,7 @@ use Carp 'confess'; use Scalar::Util 'blessed', 'reftype'; use Sub::Exporter; -our $VERSION = '0.17'; +our $VERSION = '0.18'; our $AUTHORITY = 'cpan:STEVAN'; ## -------------------------------------------------------- diff --git a/lib/oose.pm b/lib/oose.pm index 0d6d850..5f0dcc7 100644 --- a/lib/oose.pm +++ b/lib/oose.pm @@ -1,24 +1,26 @@ package oose; + use strict; -our $VERSION = '0.0.1'; +use warnings; + +our $VERSION = '0.01'; +our $AUTHORITY = 'cpan:STEVAN'; BEGIN { my $package; sub import { $package = $_[1] } use Filter::Simple sub { s/^/package $package;\nuse Moose;\n/; } } -1; # Magic true value required at end of module -__END__ - -=head1 NAME -oose - syntactic sugar to make Moose Onliners easier +1; +__END__ -=head1 VERSION +=pod -This document describes oose version 0.0.1 +=head1 NAME +oose - syntactic sugar to make Moose one-liners easier =head1 SYNOPSIS @@ -26,104 +28,47 @@ This document describes oose version 0.0.1 =head1 DESCRIPTION -oose.pm is a Source filter that simply adds C to the beginning of your script -and was entirely created because typing perl -e'package Foo; use Moose; ...' was annoying me. +oose.pm is a simple source filter that adds C +to the beginning of your script and was entirely created because typing +perl -e'package Foo; use Moose; ...' was annoying me. =head1 INTERFACE oose provides exactly one method and it's automically called by perl: -=over +=over 4 -=item import(str) +=item B -pass a package name to import to be used by the source filter +Pass a package name to import to be used by the source filter. =back -=head1 CONFIGURATION AND ENVIRONMENT - -=for author to fill in: - A full explanation of any configuration system(s) used by the - module, including the names and locations of any configuration - files, and the meaning of any environment variables or properties - that can be set. These descriptions must also include details of any - configuration language used. - -oose requires no configuration files or environment variables. - =head1 DEPENDENCIES -=for author to fill in: - A list of all the other modules that this module relies upon, - including any restrictions on versions, and an indication whether - the module is part of the standard Perl distribution, part of the - module's distribution, or must be installed separately. ] - You will need L and eventually L - =head1 INCOMPATIBILITIES -=for author to fill in: - A list of any modules that this module cannot be used in conjunction - with. This may be due to name conflicts in the interface, or - competition for system or program resources, or due to internal - limitations of Perl (for example, many modules that use source code - filters are mutually incompatible). - None reported. But it is a source filter and might have issues there. -=head1 BUGS AND LIMITATIONS - -=for author to fill in: - A list of known problems with the module, together with some - indication Whether they are likely to be fixed in an upcoming - release. Also a list of restrictions on the features the module - does provide: data types that cannot be handled, performance issues - and the circumstances in which they may arise, practical - limitations on the size of data sets, special cases that are not - (yet) handled, etc. - -No bugs have been reported. - -Please report any bugs or feature requests to -C, or through the web interface at -L. +=head1 BUGS +All complex software has bugs lurking in it, and this module is no +exception. If you find a bug please either email me, or add the bug +to cpan-RT. =head1 AUTHOR Chris Prather C<< >> +=head1 COPYRIGHT AND LICENSE -=head1 LICENCE AND COPYRIGHT - -Copyright (c) 2007, Chris Prather C<< >>. All rights reserved. - -This module is free software; you can redistribute it and/or -modify it under the same terms as Perl itself. See L. - +Copyright 2007 by Infinity Interactive, Inc. -=head1 DISCLAIMER OF WARRANTY +L -BECAUSE THIS SOFTWARE IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY -FOR THE SOFTWARE, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN -OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES -PROVIDE THE SOFTWARE "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER -EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE -ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE SOFTWARE IS WITH -YOU. SHOULD THE SOFTWARE PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL -NECESSARY SERVICING, REPAIR, OR CORRECTION. +This library is free software; you can redistribute it and/or modify +it under the same terms as Perl itself. -IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING -WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR -REDISTRIBUTE THE SOFTWARE AS PERMITTED BY THE ABOVE LICENCE, BE -LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL, -OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE -THE SOFTWARE (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING -RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A -FAILURE OF THE SOFTWARE TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF -SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF -SUCH DAMAGES. +=cut