X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2Fouse.pm;h=aac678122e2585455a5cd76ad387a80b5db7991a;hb=14cf9b5a1724801f786d8c4a79834aa7c063323c;hp=a69f80f423650ab01714c173072d45cadd19da07;hpb=4bccf701b825177f5500cc9fd027085c16609d8c;p=gitmo%2FMouse.git diff --git a/lib/ouse.pm b/lib/ouse.pm index a69f80f..aac6781 100644 --- a/lib/ouse.pm +++ b/lib/ouse.pm @@ -1,26 +1,19 @@ package ouse; - -use strict; -use warnings; - -BEGIN { - my $package; - sub import { - $package = $_[1] || 'Class'; - if ($package =~ /^\+/) { - $package =~ s/^\+//; - eval "require $package; 1" or die; - } +use Mouse::Util; # enables strict and warnings + +my $package = 'Class'; +sub import { + $package = $_[1] || 'Class'; + if ($package =~ /^\+/) { + $package =~ s/^\+//; + Mouse::Util::load_class($package); } - use Filter::Simple sub { s/^/package $package;\nuse Mouse;\n/; } } +use Filter::Simple sub { s/^/package $package;\nuse Mouse;\nuse Mouse::Util::TypeConstraints;\n/; }; 1; - __END__ -=pod - =head1 NAME ouse - syntactic sugar to make Mouse one-liners easier @@ -33,22 +26,22 @@ ouse - syntactic sugar to make Mouse one-liners easier # loads an existing class (Mouse or non-Mouse) # and re-"opens" the package definition to make # debugging/introspection easier - perl -Mouse=+My::Class -e 'print join ", " => __PACKAGE__->meta->get_method_list' + perl -Mouse=+My::Class -e 'print join ", " => __PACKAGE__->meta->get_method_list' =head1 DESCRIPTION -ouse.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 Mouse; ...' was annoying me... especially after +F is a simple source filter that adds C +to the beginning of your script and was entirely created because typing +perl C<< -e'package Foo; use Mouse; ...' >> was annoying me... especially after getting used to having C<-Moose> for Moose. -=head1 INTERFACE +=head1 INTERFACE -ouse provides exactly one method and it's automically called by perl: +C provides exactly one method and it is automatically called by perl: =over 4 -=item B +=item C<< oose->import() >>> Pass a package name to import to be used by the source filter. @@ -62,11 +55,9 @@ You will need L and eventually L None reported. But it is a source filter and might have issues there. -=head1 BUGS +=head1 SEE ALSO -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. +L for C<< perl -Moose -e '...' >> =head1 AUTHOR @@ -74,7 +65,7 @@ For all intents and purposes, blame: Chris Prather C<< >> -...who wrote ouse.pm, which was adapted for use by Mouse by: +...who wrote oose.pm, which was adapted for use by Mouse by: Ricardo SIGNES C<< >>