X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FMooseX%2FStorage%2FFormat%2FJSON.pm;h=cc5544a4fa63b3e8f908487e69af32047ca03dcc;hb=1390c23dd40f71e312351625cf8b5d2d9a9eefa4;hp=47d59ec3ca5fff2c30da9c62a71bcd76d48204c0;hpb=eebcb6dc421f51c455af1dc6b8aa3bb0ffc6f148;p=gitmo%2FMooseX-Storage.git diff --git a/lib/MooseX/Storage/Format/JSON.pm b/lib/MooseX/Storage/Format/JSON.pm index 47d59ec..cc5544a 100644 --- a/lib/MooseX/Storage/Format/JSON.pm +++ b/lib/MooseX/Storage/Format/JSON.pm @@ -29,6 +29,29 @@ MooseX::Storage::Format::JSON =head1 SYNOPSIS + package Point; + use Moose; + use MooseX::Storage; + + with Storage('format' => 'JSON'); + + has 'x' => (is => 'rw', isa => 'Int'); + has 'y' => (is => 'rw', isa => 'Int'); + + 1; + + my $p = Point->new(x => 10, y => 10); + + ## methods to freeze/thaw into + ## a specified serialization format + ## (in this case JSON) + + # pack the class into a JSON string + $p->freeze(); # { "__CLASS__" : "Point", "x" : 10, "y" : 10 } + + # unpack the JSON string into a class + my $p2 = Point->thaw('{ "__CLASS__" : "Point", "x" : 10, "y" : 10 }'); + =head1 DESCRIPTION =head1 METHODS