X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?p=gitmo%2FMooseX-Singleton.git;a=blobdiff_plain;f=lib%2FMooseX%2FSingleton%2FRole%2FMeta%2FClass.pm;fp=lib%2FMooseX%2FSingleton%2FMeta%2FClass.pm;h=a8a43ee4ff265c4b87f419f4a2a173aee30dd7c4;hp=609c2506c6b04402465791d7c93d6be36e21d504;hb=8eec3c69ee4aa161601b0255c3b32cd6d9cc6998;hpb=b1882d9b6ec47b18a97dadb6e1326305d890c806 diff --git a/lib/MooseX/Singleton/Meta/Class.pm b/lib/MooseX/Singleton/Role/Meta/Class.pm similarity index 57% rename from lib/MooseX/Singleton/Meta/Class.pm rename to lib/MooseX/Singleton/Role/Meta/Class.pm index 609c250..a8a43ee 100644 --- a/lib/MooseX/Singleton/Meta/Class.pm +++ b/lib/MooseX/Singleton/Role/Meta/Class.pm @@ -1,25 +1,9 @@ #!/usr/bin/env perl -package MooseX::Singleton::Meta::Class; -use Moose; +package MooseX::Singleton::Role::Meta::Class; +use Moose::Role; use MooseX::Singleton::Meta::Instance; use MooseX::Singleton::Meta::Method::Constructor; -extends 'Moose::Meta::Class'; - -sub initialize { - my $class = shift; - my $pkg = shift; - - my $self = $class->SUPER::initialize( - $pkg, - instance_metaclass => 'MooseX::Singleton::Meta::Instance', - constructor_class => 'MooseX::Singleton::Meta::Method::Constructor', - @_, - ); - - return $self; -} - sub existing_singleton { my ($class) = @_; my $pkg = $class->name; @@ -63,13 +47,13 @@ __END__ =head1 NAME -MooseX::Singleton::Meta::Class +MooseX::Singleton::Role::Meta::Class - Metaclass role for MooseX::Singleton =head1 DESCRIPTION -This metaclass is where the forcing of one instance occurs. The first call to -C is run normally (and then cached). Subsequent calls will -return the cached version. +This metaclass role makes sure that there is only ever one instance of an +object for a singleton class. The first call to C is run +normally (and then cached). Subsequent calls will return the cached version. =cut