MooseX::Storage - added peek()
[gitmo/MooseX-Storage.git] / lib / MooseX / Storage / Meta / Attribute / DoNotSerialize.pm
index e7b3ad3..2ffd1da 100644 (file)
@@ -2,8 +2,19 @@
 package MooseX::Storage::Meta::Attribute::DoNotSerialize;
 use Moose;
 
+our $VERSION   = '0.01';
+our $AUTHORITY = 'cpan:STEVAN';
+
 extends 'Moose::Meta::Attribute';
 
+# register this alias ...
+package Moose::Meta::Attribute::Custom::DoNotSerialize;
+
+our $VERSION   = '0.01';
+our $AUTHORITY = 'cpan:STEVAN';
+
+sub register_implementation { 'MooseX::Storage::Meta::Attribute::DoNotSerialize' }
+
 1;
 
 __END__
@@ -16,8 +27,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