logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

MooseX::Storage::Format::Storable - A Storable serialization role

Authors

       •   Chris Prather <chris.prather@iinteractive.com>

       •   Stevan Little <stevan.little@iinteractive.com>

       •   יובל קוג'מן (Yuval Kogman) <nothingmuch@woobling.org>

Description

       This module will "thaw" and "freeze" Moose classes using Storable. It uses "Storable::nfreeze" by default
       so that it can be easily used in IPC scenarios across machines or just locally.

       One important thing to note is that this module does not mix well with the IO modules. The structures
       that "freeze" and "thaw" deal with are Storable's memory representation, and (as far as I know) that is
       not easily just written onto a file. If you want file based serialization with Storable, the please look
       at the MooseX::Storage::IO::StorableFile role instead.

Methods

freezethaw($stored)

Name

       MooseX::Storage::Format::Storable - A Storable serialization role

Support

       Bugs         may        be        submitted        through        the        RT        bug        tracker
       <https://rt.cpan.org/Public/Dist/Display.html?Name=MooseX-Storage>   (or   bug-MooseX-Storage@rt.cpan.org
       <mailto:bug-MooseX-Storage@rt.cpan.org>).

       There    is    also    a    mailing    list    available    for    users   of   this   distribution,   at
       <http://lists.perl.org/list/moose.html>.

       There is also an irc channel available for users of this  distribution,  at  "#moose"  on  "irc.perl.org"
       <irc://irc.perl.org/#moose>.

Synopsis

         package Point;
         use Moose;
         use MooseX::Storage;

         with Storage('format' => 'Storable');

         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

         # pack the class with Storable
         my $storable_data = $p->freeze();

         # unpack the storable data into the class
         my $p2 = Point->thaw($storable_data);

Version

       version 0.53

See Also