require Devel::PartialDump 0.14, to avoid infinite loop bug
[gitmo/Moose.git] / lib / Moose / Manual / Unsweetened.pod
index 6d79f1a..7e36fa8 100644 (file)
@@ -1,8 +1,10 @@
-=pod
+package Moose::Manual::Unsweetened;
+
+# ABSTRACT: Moose idioms in plain old Perl 5 without the sugar
 
-=head1 NAME
+__END__
 
-Moose::Manual::Unsweetened - Moose idioms in plain old Perl 5 without the sugar
+=pod
 
 =head1 DESCRIPTION
 
@@ -47,10 +49,7 @@ First, we define two very small classes the Moose way.
       handles => { birth_year => 'year' },
   );
 
-  subtype 'ShirtSize'
-      => as 'Str'
-      => where { /^(?:s|m|l|xl|xxl)$/i }
-      => message { "$_ is not a valid shirt size (s, m, l, xl, xxl)" };
+  enum 'ShirtSize' => qw( s m l xl xxl );
 
   has shirt_size => (
       is      => 'rw',
@@ -58,9 +57,9 @@ First, we define two very small classes the Moose way.
       default => 'l',
   );
 
-This is a fairly simple class with three attributes. We also define a
-type to validate t-shirt sizes because we don't want to end up with
-something like "blue" for the shirt size!
+This is a fairly simple class with three attributes. We also define an enum
+type to validate t-shirt sizes because we don't want to end up with something
+like "blue" for the shirt size!
 
   package User;
 
@@ -96,7 +95,6 @@ helpers like C<Class::Accessor>.
   use DateTime;
   use DateTime::Format::Natural;
 
-
   sub new {
       my $class = shift;
       my %p = ref $_[0] ? %{ $_[0] } : @_;
@@ -166,7 +164,9 @@ helpers like C<Class::Accessor>.
       defined $shirt_size
           or confess 'shirt_size cannot be undef';
 
-      $shirt_size =~ /^(?:s|m|l|xl|xxl)$/
+      my %sizes = map { $_ => 1 } qw( s m l xl xxl );
+
+      $sizes{$shirt_size}
           or confess "$shirt_size is not a valid shirt size (s, m, l, xl, xxl)";
   }
 
@@ -244,7 +244,6 @@ Now let's see User:
 
   use base 'Person';
 
-
   sub new {
       my $class = shift;
       my %p = ref $_[0] ? %{ $_[0] } : @_;
@@ -322,17 +321,4 @@ Moose is a complete OO package in and of itself, and is part of a rich
 ecosystem of extensions. It also has an enthusiastic community of
 users, and is being actively maintained and developed.
 
-=head1 AUTHOR
-
-Dave Rolsky E<lt>autarch@urth.orgE<gt>
-
-=head1 COPYRIGHT AND LICENSE
-
-Copyright 2009 by Infinity Interactive, Inc.
-
-L<http://www.iinteractive.com>
-
-This library is free software; you can redistribute it and/or modify
-it under the same terms as Perl itself.
-
 =cut