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

FreeBSD Manual Pages

  
 
  

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

NAME
       MooseX::Singleton - Turn	your Moose class into a	singleton

VERSION
       version 0.30

SYNOPSIS
	   package MyApp;
	   use MooseX::Singleton;

	   has env => (
	       is      => 'rw',
	       isa     => 'HashRef[Str]',
	       default => sub {	\%ENV },
	   );

	   package main;

	   delete MyApp->env->{PATH};
	   my $instance	= MyApp->instance;
	   my $same = MyApp->instance;

DESCRIPTION
       A singleton is a	class that has only one	instance in an application.
       "MooseX::Singleton" lets	you easily upgrade (or downgrade, as it	were)
       your Moose class	to a singleton.

       All you should need to do to transform your class is to change "use
       Moose" to "use MooseX::Singleton". This module uses metaclass roles to
       do its magic, so	it should cooperate with most other "MooseX" modules.

METHODS
       A singleton class will have the following additional methods:

   Singleton->instance
       This returns the	singleton instance for the given package. This method
       does not	accept any arguments. If the instance does not yet exist, it
       is created with its defaults values. This means that if your singleton
       requires	arguments, calling "instance" will die if the object has not
       already been initialized.

   Singleton->initialize(%args)
       This method can be called only once per class. It explicitly
       initializes the singleton object	with the given arguments.

   Singleton->_clear_instance
       This clears the existing	singleton instance for the class. Obviously,
       this is meant for use only inside the class itself.

   Singleton->new
       This method currently works like	a hybrid of "initialize" and
       "instance". However, calling "new" directly will	probably be deprecated
       in a future release. Instead, call "initialize" or "instance" as
       appropriate.

SOME CODE STOLEN FROM
       Anders Nor Berle	<debolaz@gmail.com>

AND PATCHES FROM
       Ricardo SIGNES <rjbs@cpan.org>

SUPPORT
       Bugs may	be submitted through the RT bug	tracker
       <https://rt.cpan.org/Public/Dist/Display.html?Name=MooseX-Singleton>
       (or bug-MooseX-Singleton@rt.cpan.org <mailto:bug-MooseX-
       Singleton@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>.

AUTHOR
       Shawn M Moore <code@sartak.org>

CONTRIBUTORS
       o   Dave	Rolsky <autarch@urth.org>

       o   Karen Etheridge <ether@cpan.org>

       o   Ricardo SIGNES <rjbs@cpan.org>

       o   Kaare Rasmussen <kaare@jasonic.dk>

       o   Anders Nor Berle <berle@cpan.org>

       o   Jonathan Rockway <jon@jrock.us>

       o   Hans	Dieter Pearcey <hdp@weftsoar.net>

COPYRIGHT AND LICENSE
       This software is	copyright (c) 2007 by Shawn M Moore.

       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			  2016-11-23		  MooseX::Singleton(3)

NAME | VERSION | SYNOPSIS | DESCRIPTION | METHODS | SOME CODE STOLEN FROM | AND PATCHES FROM | SUPPORT | AUTHOR | CONTRIBUTORS | COPYRIGHT AND LICENSE

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

home | help