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

FreeBSD Manual Pages

  
 
  

home | help
MooseX::Storage::EnginUserrContributedSPerlgDocungine::Trait::OnlyWhenBuilt(3)

NAME
       MooseX::Storage::Engine::Trait::OnlyWhenBuilt - An engine trait to
       bypass serialization

VERSION
       version 0.53

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

	       with Storage( traits => [qw|OnlyWhenBuilt|] );

	       has 'x' => (is => 'rw', lazy_build => 1 );
	       has 'y' => (is => 'rw', predicate => '_has_y' );
	       has 'z' => (is => 'rw', builder => '_build_z' );

	       sub _build_x { 3	}
	       sub _build_y { expensive_computation() }
	       sub _build_z { 3	}
	   }

	   my $p = Point->new( 'x' => 4	);

	   # the result	of ->pack will contain:
	   # { x => 4, z => 3 }
	   $p->pack;

DESCRIPTION
       Sometimes you don't want	a particular attribute to be part of the
       serialization if	it has not been	built yet. If you invoke "Storage()"
       as outlined in the "Synopsis", only attributes that have	been built
       (i.e., where the	predicate returns 'true') will be serialized.  This
       avoids any potentially expensive	computations.

       This trait is applied to	an instance of MooseX::Storage::Engine,	for
       the user-visible	version	shown in the SYNOPSIS, see
       MooseX::Storage::Traits::OnlyWhenBuilt

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		      MooseX::Storage::Engine::Trait::OnlyWhenBuilt(3)

NAME | VERSION | SYNOPSIS | DESCRIPTION | 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::Engine::Trait::OnlyWhenBuilt&sektion=3&manpath=FreeBSD+13.0-RELEASE+and+Ports>

home | help