X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2Foose.pm;h=37576bd4b5e84aea834912fd31dff8b2012a8454;hb=0bc504862da4ba549c74248a0573570e0e2aacb0;hp=9ed652105fe52c7f293ad2998fe9d4804c081799;hpb=9409e92e75a6e1060eb3d0adcfc7965713d3d776;p=gitmo%2FMoose.git diff --git a/lib/oose.pm b/lib/oose.pm index 9ed6521..37576bd 100644 --- a/lib/oose.pm +++ b/lib/oose.pm @@ -5,20 +5,20 @@ use warnings; use Class::MOP; -our $VERSION = '0.72'; +our $VERSION = '0.93'; $VERSION = eval $VERSION; our $AUTHORITY = 'cpan:STEVAN'; BEGIN { my $package; - sub import { + sub import { $package = $_[1] || 'Class'; if ($package =~ /^\+/) { $package =~ s/^\+//; Class::MOP::load_class($package); } } - use Filter::Simple sub { s/^/package $package;\nuse Moose;\n/; } + use Filter::Simple sub { s/^/package $package;\nuse Moose;use Moose::Util::TypeConstraints;\n/; } } 1; @@ -35,19 +35,22 @@ oose - syntactic sugar to make Moose one-liners easier # create a Moose class on the fly ... perl -Moose=Foo -e 'has bar => ( is=>q[ro], default => q[baz] ); print Foo->new->bar' # prints baz - + # loads an existing class (Moose or non-Moose) # and re-"opens" the package definition to make # debugging/introspection easier - perl -Moose=+My::Class -e 'print join ", " => __PACKAGE__->meta->get_method_list' + perl -Moose=+My::Class -e 'print join ", " => __PACKAGE__->meta->get_method_list' + + # also loads Moose::Util::TypeConstraints to allow subtypes etc + perl -Moose=Person -e'subtype q[ValidAge] => as q[Int] => where { $_ > 0 && $_ < 78 }; has => age ( isa => q[ValidAge], is => q[ro]); Person->new(age => 90)' =head1 DESCRIPTION -oose.pm is a simple source filter that adds C -to the beginning of your script and was entirely created because typing +oose.pm is a simple source filter that adds C +to the beginning of your script and was entirely created because typing C was annoying me. -=head1 INTERFACE +=head1 INTERFACE oose provides exactly one method and it's automatically called by perl: @@ -75,7 +78,7 @@ to cpan-RT. =head1 AUTHOR -Chris Prather C<< >> +Chris Prather C<< >> =head1 COPYRIGHT AND LICENSE