foo
[gitmo/MooseX-Storage.git] / lib / MooseX / Storage / Meta / Attribute / DoNotSerialize.pm
index e7b3ad3..29e0e57 100644 (file)
@@ -4,6 +4,10 @@ use Moose;
 
 extends 'Moose::Meta::Attribute';
 
+# register this alias ...
+package Moose::Meta::Attribute::Custom::DoNotSerialize;
+sub register_implementation { 'MooseX::Storage::Meta::Attribute::DoNotSerialize' }
+
 1;
 
 __END__
@@ -16,8 +20,30 @@ MooseX::Storage::Meta::Attribute::DoNotSerialize
 
 =head1 SYNOPSIS
 
+  package Point;
+  use Moose;
+  use MooseX::Storage;
+  
+  with Storage('format' => 'JSON', 'io' => 'File');
+  
+  has 'x' => (is => 'rw', isa => 'Int');
+  has 'y' => (is => 'rw', isa => 'Int');
+  
+  has 'foo' => (
+      metaclass => 'DoNotSerialize',
+      is        => 'rw',
+      isa       => 'CodeRef',
+  );
+  
+  1;
+
 =head1 DESCRIPTION
 
+Sometimes you don't want a particular attribute to be part of the 
+serialization, in this case, you want to make sure that attribute 
+uses this custom meta-attribute. See the SYNOPSIS for a nice example
+that can be easily cargo-culted.
+
 =head1 METHODS
 
 =head2 Introspection