X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FMooseX%2FSingleton%2FObject.pm;fp=lib%2FMooseX%2FSingleton%2FObject.pm;h=0000000000000000000000000000000000000000;hb=8eec3c69ee4aa161601b0255c3b32cd6d9cc6998;hp=312e472a415d01bd7eec23fddd1670a9cec9b03e;hpb=b1882d9b6ec47b18a97dadb6e1326305d890c806;p=gitmo%2FMooseX-Singleton.git diff --git a/lib/MooseX/Singleton/Object.pm b/lib/MooseX/Singleton/Object.pm deleted file mode 100644 index 312e472..0000000 --- a/lib/MooseX/Singleton/Object.pm +++ /dev/null @@ -1,53 +0,0 @@ -#!/usr/bin/env perl -package MooseX::Singleton::Object; -use Moose; - -extends 'Moose::Object'; - -sub instance { shift->new } - -sub initialize { - my ($class, @args) = @_; - - my $existing = $class->meta->existing_singleton; - confess "Singleton is already initialized" if $existing; - - return $class->SUPER::new(@args); -} - -sub new { - my ($class, @args) = @_; - - my $existing = $class->meta->existing_singleton; - confess "Singleton is already initialized" if $existing and @args; - - # Otherwise BUILD will be called repeatedly on the existing instance. - # -- rjbs, 2008-02-03 - return $existing if $existing and ! @args; - - return $class->SUPER::new(@args); -} - -sub _clear_instance { - my ($class) = @_; - $class->meta->clear_singleton; -} - -no Moose; - -1; - -__END__ - -=pod - -=head1 NAME - -MooseX::Singleton::Object - base class for MooseX::Singleton - -=head1 DESCRIPTION - -This just adds C as a shortcut for C. - -=cut -