NAME

MooX::Singleton - turn your Moo class into singleton

VERSION

version 1.20

SYNOPSIS

    package MyApp;
    use Moo;
    with 'MooX::Singleton';

    package main;

    my $instance = MyApp->instance(@optional_init_args);
    my $same = MyApp->instance;

DESCRIPTION

Role::Tiny role that provides "instance" method turning your object into singleton.

METHODS

instance

    my $singleton = MyApp->instance(@args1);
    my $same = MyApp->instance;
    # @args2 are ignored
    my $above = MyApp->instance(@args2);

Creates a new object initialized with arguments provided and then returns it.

NOTE: Subsequent calls to instance will return the singleton instance ignoring any arguments. This is different from MooseX::Singleton which does not allow any arguments.

AUTHOR

Alex J. G. Burzyński <ajgb@cpan.org>

COPYRIGHT AND LICENSE

This software is copyright (c) 2012 by Alex J. G. Burzyński <ajgb@cpan.org>.

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