clarification of wording
[gitmo/Moose.git] / lib / Moose / Manual / MooseX.pod
index f4bfa72..c47d15f 100644 (file)
@@ -1,8 +1,10 @@
-=pod
+package Moose::Manual::MooseX;
+
+# ABSTRACT: Recommended Moose extensions
 
-=head1 NAME
+__END__
 
-Moose::Manual::MooseX - Recommended Moose extensions
+=pod
 
 =head1 MooseX?
 
@@ -23,31 +25,8 @@ This document covers a few of the ones we like best.
 
 =head1 L<MooseX::AttributeHelpers>
 
-If you only look at one extension, it should be this one. It provides
-the equivalent of delegation for all of Perl's native data types, such
-as array reference, hash references, numbers, strings, etc.
-
-This lets you create I<much> cleaner and fluent APIs.
-
-  package User;
-
-  use Moose;
-  use MooseX::AttributeHelpers;
-
-  has '_orders' => (
-      metaclass => 'Collection::Array',
-      is        => 'ro',
-      isa       => 'ArrayRef',
-      default   => sub { [] },
-      provides  => {
-          push     => 'add_order',
-          shift    => 'next_order',
-          elements => 'orders',
-      },
-  );
-
-Instead of directly exposing an array reference, we have three
-well-named, easy to use methods.
+The functionality of this MooseX module has been moved into Moose core.
+See L<Moose::Meta::Attribute::Native>.
 
 =head1 L<Moose::Autobox>
 
@@ -151,11 +130,10 @@ From the command line, someone can execute the script:
 To be honest, using a singleton is just a way to have a magic global
 variable in languages that don't actually have global variables.
 
-In perl, you should almost certaintly just use a global.
-
-However, if your colleagues are too used to java to understand that a
-singleton is a slow, stupid way of hacking around its lack of globals,
-L<MooseX::Singleton> lets you have a Moose class that's a singleton:
+In perl, you can just as easily use a global. However, if your
+colleagues are Java-infected, they might prefer a singleton. Also, if
+you have an existing class that I<isn't> a singleton but should be,
+using L<MooseX::Singleton> is the easiest way to convert it.
 
   package Config;
 
@@ -192,10 +170,10 @@ also lets you predeclare type names and use them as barewords.
   use MooseX::Types -declare => ['PositiveInt'];
   use MooseX::Types::Moose 'Int';
 
-  subtype PositiveInt
-      => as Int,
-      => where { $_ > 0 }
-      => message {"Int is not larger than 0"};
+  subtype PositiveInt,
+      as Int,
+      where { $_ > 0 },
+      message { "Int is not larger than 0" };
 
 One nice feature is that those bareword names are actually namespaced
 in Moose's type registry, so multiple applications can use the same
@@ -234,7 +212,7 @@ attributes.
 
   class_has 'Cache' => ( ... );
 
-Note however that this class attribute does -not- inherit like a
+Note however that this class attribute does I<not> inherit like a
 L<Class::Data::Inheritable> or similar attribute - calling
 
   $subclass->Cache($cache);
@@ -273,17 +251,12 @@ Automatically names all accessors I<Perl Best Practices>-style,
 Automatically names all accessors with an explicit set and implicit
 get, "size" and "set_size".
 
-=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>
+=head2 L<MooseX::NonMoose>
 
-This library is free software; you can redistribute it and/or modify
-it under the same terms as Perl itself.
+MooseX::NonMoose allows for easily subclassing non-Moose classes with Moose,
+taking care of the annoying details connected with doing this, such as
+setting up proper inheritance from Moose::Object and installing
+(and inlining, at make_immutable time) a constructor that makes sure things
+like BUILD methods are called.
 
 =cut