Add make_immutable to the SYNOPSIS
[gitmo/Mouse.git] / lib / Mouse.pm
index b8b4565..22827e5 100644 (file)
@@ -3,7 +3,7 @@ use 5.006_002;
 
 use Mouse::Exporter; # enables strict and warnings
 
-our $VERSION = '0.46';
+our $VERSION = '0.50_01';
 
 use Carp         qw(confess);
 use Scalar::Util qw(blessed);
@@ -61,33 +61,27 @@ sub has {
 
 sub before {
     my $meta = Mouse::Meta::Class->initialize(scalar caller);
-
     my $code = pop;
-
-    for (@_) {
-        $meta->add_before_method_modifier($_ => $code);
+    for my $name($meta->_collect_methods(@_)) {
+        $meta->add_before_method_modifier($name => $code);
     }
     return;
 }
 
 sub after {
     my $meta = Mouse::Meta::Class->initialize(scalar caller);
-
     my $code = pop;
-
-    for (@_) {
-        $meta->add_after_method_modifier($_ => $code);
+    for my $name($meta->_collect_methods(@_)) {
+        $meta->add_after_method_modifier($name => $code);
     }
     return;
 }
 
 sub around {
     my $meta = Mouse::Meta::Class->initialize(scalar caller);
-
     my $code = pop;
-
-    for (@_) {
-        $meta->add_around_method_modifier($_ => $code);
+    for my $name($meta->_collect_methods(@_)) {
+        $meta->add_around_method_modifier($name => $code);
     }
     return;
 }
@@ -166,7 +160,7 @@ Mouse - Moose minus the antlers
 
 =head1 VERSION
 
-This document describes Mouse version 0.46
+This document describes Mouse version 0.50_01
 
 =head1 SYNOPSIS
 
@@ -182,6 +176,9 @@ This document describes Mouse version 0.46
         $self->y(0);
     }
 
+
+    __PACKAGE__->meta->make_immutable();
+
     package Point3D;
     use Mouse;
 
@@ -194,6 +191,8 @@ This document describes Mouse version 0.46
         $self->z(0);
     };
 
+    __PACKAGE__->meta->make_immutable();
+
 =head1 DESCRIPTION
 
 L<Moose> is wonderful. B<Use Moose instead of Mouse.>
@@ -249,15 +248,15 @@ Returns this class' metaclass instance.
 
 Sets this class' superclasses.
 
-=head2 C<< before (method|methods) => CodeRef >>
+=head2 C<< before (method|methods|regexp) => CodeRef >>
 
 Installs a "before" method modifier. See L<Moose/before>.
 
-=head2 C<< after (method|methods) => CodeRef >>
+=head2 C<< after (method|methods|regexp) => CodeRef >>
 
 Installs an "after" method modifier. See L<Moose/after>.
 
-=head2 C<< around (method|methods) => CodeRef >>
+=head2 C<< around (method|methods|regexp) => CodeRef >>
 
 Installs an "around" method modifier. See L<Moose/around>.
 
@@ -405,8 +404,8 @@ keywords (such as L</extends>) it will break loudly instead breaking subtly.
 =head1 CAVEATS
 
 If you use Mouse::XS you might see a fatal error on callbacks
-which include C<eval 'BEGIN{ die }'>, which typically occurs in sutch code
-like C<eval 'use NotInstalledModule'>. This is not
+which include C<eval 'BEGIN{ die }'>, which typically occurs in such code
+as C<eval 'use NotInstalledModule'>. This is not
 a bug in Mouse. In fact, it is a bug in Perl (RT #69939).
 
 To work around this problem, surround C<eval STRING> with C<eval BLOCK>: