Remove nothingmuch's nasty tabs ;)
[gitmo/Moose.git] / lib / Moose / Cookbook / Recipe1.pod
index f9382d5..04c2c80 100644 (file)
@@ -51,9 +51,10 @@ Another important thing happens at this stage as well. Moose will
 automatically set your package's superclass to be L<Moose::Object>.
 The reason we do this, is so that we can be sure that your class
 will inherit from L<Moose::Object> and get the benefits that
-provides (see L<Moose::Object> for details). However, you don't 
-actually I<have> to inherit from L<Moose::Object> if you don't  
-want to. All Moose features will still be accessible to you.
+provides (such as a constructor; see L<Moose::Object> for details).
+However, you don't actually I<have> to inherit from L<Moose::Object>
+if you don't want to. All Moose features will still be accessible to
+you.
 
 Now, onto the keywords. The first one we see here is C<has>, which 
 defines an instance attribute in your class:
@@ -119,7 +120,7 @@ a new attribute for B<Point3D> called C<z>.
 As with B<Point>'s C<x> and C<y> attributes, this attribute has a 
 type constraint of C<Int>, but it differs in that it does B<not> 
 ask for any autogenerated accessors. The result being (aside from 
-broken object encapsulation) that C<x> is a private attribute.
+broken object encapsulation) that C<z> is a private attribute.
 
 Next comes another Moose feature which we call method "modifiers" 
 (or method "advice" for the AOP inclined). The modifier used here 
@@ -174,7 +175,7 @@ not recognize.
 
 From here on, you can use C<$point> and C<$point3d> just as you would 
 any other Perl 5 object. For a more detailed example of what can be 
-done, you can refer to the F<t/001_recipe.t> test file.
+done, you can refer to the F<t/000_recipes/001_recipe.t> test file.
 
 =head1 CONCLUSION
 
@@ -196,10 +197,14 @@ L<Moose::Util::TypeConstraints> documentation.
 
 =item (2)
 
-Future plans for Moose include allowing for alternate instance 
-structures such as blessed ARRAY refs and such. If you want your
-Moose classes to be interchangeable, it is advisable to avoid
-direct instance access, like that shown above.
+Moose supports using instance structures other than blessed hash
+references (such as in a glob reference -- see
+L<MooseX::GlobRef::Object>). If you want your Moose classes to
+be interchangeable, it is advisable to avoid direct instance
+access, like that shown above. Moose does let you get and set
+attributes directly without exposing the instance structure, but
+that's an advanced topic (intrepid readers should refer to the
+L<Moose::Meta::Attribute documentation>).
 
 =back
 
@@ -222,7 +227,7 @@ Stevan Little E<lt>stevan@iinteractive.comE<gt>
 
 =head1 COPYRIGHT AND LICENSE
 
-Copyright 2006, 2007 by Infinity Interactive, Inc.
+Copyright 2006-2008 by Infinity Interactive, Inc.
 
 L<http://www.iinteractive.com>