+++ /dev/null
-NAME
- MooseX::Singleton - turn your Moose class into a singleton
-
-VERSION
- Version 0.18
-
-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 a new class
- metaclass and instance metaclass, so if you're doing metamagic you may
- not be able to use this.
-
- "MooseX::Singleton" gives your class an "instance" method that can be
- used to get a handle on the singleton. It's actually just an alias for
- "new".
-
- Alternatively, "YourPackage->method" should just work. This includes
- accessors.
-
-TODO
- Always more tests and doc
- Fix speed boost
- "instance" invokes "new" every time "Package->method" is called,
- which incurs a nontrivial runtime cost. I've implemented a
- short-circuit for this case, which does eliminate nearly all of the
- runtime cost. However, it's ugly and should be fixed in a more
- elegant way.
-
-BUGS
- All complex software has bugs lurking in it, and this module is no
- exception. If you find a bug please either email me, or add the bug to
- cpan-RT.
-
-AUTHOR
- Shawn M Moore <sartak@gmail.com>
-
-SOME CODE STOLEN FROM
- Anders Nor Berle <debolaz@gmail.com>
-
-AND PATCHES FROM
- Ricardo SIGNES <rjbs@cpan.org>
-
- Dave Rolsky <autarch@urth.org>
-
-COPYRIGHT AND LICENSE
- Copyright 2007, 2008 Shawn M Moore.
-
- This program is free software; you can redistribute it and/or modify it
- under the same terms as Perl itself.
-