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

FreeBSD Manual Pages

  
 
  

home | help
MooseX::SetOnce(3)    User Contributed Perl Documentation   MooseX::SetOnce(3)

NAME
       MooseX::SetOnce - write-once, read-many attributes for Moose

VERSION
       version 0.200002

SYNOPSIS
       Add the "SetOnce" trait to attributes:

	 package Class;
	 use Moose;
	 use MooseX::SetOnce;

	 has some_attr => (
	   is	  => 'rw',
	   traits => [ qw(SetOnce) ],
	 );

       ...and then you can only	set them once:

	 my $object = Class->new;

	 $object->some_attr(10);  # works fine
	 $object->some_attr(20);  # throws an exception: it's already set!

DESCRIPTION
       The 'SetOnce' attribute lets your class have attributes that are	not
       lazy and	not set, but that cannot be altered once set.

       The logic is very simple:  if you try to	alter the value	of an
       attribute with the SetOnce trait, either	by accessor or writer, and the
       attribute has a value, it will throw an exception.

       If the attribute	has a clearer, you may clear the attribute and set it
       again.

AUTHOR
       Ricardo SIGNES <rjbs@cpan.org>

COPYRIGHT AND LICENSE
       This software is	copyright (c) 2013 by Ricardo SIGNES.

       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.24.1			  2013-10-05		    MooseX::SetOnce(3)

NAME | VERSION | SYNOPSIS | DESCRIPTION | AUTHOR | COPYRIGHT AND LICENSE

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

home | help