Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
MooseX::Storage::DeferUser3Contributed Perl DocumeMooseX::Storage::Deferred(3)

NAME
       MooseX::Storage::Deferred - A role for indecisive programmers

VERSION
       version 0.53

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

	 with 'MooseX::Storage::Deferred';

	 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({ format =>	'JSON' }); # { "__CLASS__" : "Point", "x" : 10,	"y" : 10 }

	 # pack	the class into a JSON string using parameterized JSONpm	role
	 $p->freeze({ format =>	[ JSONpm => { json_opts	=> { pretty => 1 } } ] });

	 # unpack the JSON string into a class
	 my $p2	= Point->thaw(
	     '{	"__CLASS__" : "Point", "x" : 10, "y" : 10 }',
	     { format => 'JSON'	}
	 );

DESCRIPTION
       This role is designed for those times when you need to serialize	into
       many different formats or I/O options.

       It basically allows you to choose the format and	IO options only	when
       you actually use	them (see the SYNOPSIS for more	info)

SUPPORTED FORMATS
       JSON
       JSONpm
       YAML
       Storable

SUPPORTED I/O
       File
       AtomicFile

       NOTE: The StorableFile I/O option is not	supported, this	is because it
       does not	mix well with options who also have a "thaw" and "freeze"
       methods like this. It is	possible to probably work around this issue,
       but I don't currently have the need for it. If you need this supported,
       talk to me and I	will see what I	can do.

METHODS
       freeze ($type_desc)
       thaw ($data, $type_desc)
       load ($filename,	$type_desc)
       store ($filename, $type_desc)

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>.

AUTHORS
       o   Chris Prather <chris.prather@iinteractive.com>

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

       o   xxxx	x<section>xx'xx	(Yuval Kogman) <nothingmuch@woobling.org>

COPYRIGHT AND LICENSE
       This software is	copyright (c) 2007 by Infinity Interactive, Inc.

       This is free software; you can redistribute it and/or modify it under
       the same	terms as the Perl 5 programming	language system	itself.

perl v5.32.1			  2020-04-18	  MooseX::Storage::Deferred(3)

NAME | VERSION | SYNOPSIS | DESCRIPTION | SUPPORTED FORMATS | SUPPORTED I/O | METHODS | SUPPORT | AUTHORS | COPYRIGHT AND LICENSE

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=MooseX::Storage::Deferred&sektion=3&manpath=FreeBSD+13.0-RELEASE+and+Ports>

home | help