mirror of
https://github.com/webmin/webmin.git
synced 2026-02-08 08:19:57 +00:00
36 lines
740 B
Perl
36 lines
740 B
Perl
package Moo::sification;
|
|
use strict;
|
|
use warnings;
|
|
no warnings 'once';
|
|
|
|
use Carp qw(croak);
|
|
BEGIN { our @CARP_NOT = qw(Moo::HandleMoose) }
|
|
use Moo::_Utils qw(_in_global_destruction);
|
|
|
|
sub unimport {
|
|
croak "Can't disable Moo::sification after inflation has been done"
|
|
if $Moo::HandleMoose::SETUP_DONE;
|
|
our $disabled = 1;
|
|
}
|
|
|
|
sub Moo::HandleMoose::AuthorityHack::DESTROY {
|
|
unless (our $disabled or _in_global_destruction) {
|
|
require Moo::HandleMoose;
|
|
Moo::HandleMoose->import;
|
|
}
|
|
}
|
|
|
|
sub import {
|
|
return
|
|
if our $setup_done;
|
|
if ($INC{"Moose.pm"}) {
|
|
require Moo::HandleMoose;
|
|
Moo::HandleMoose->import;
|
|
} else {
|
|
$Moose::AUTHORITY = bless({}, 'Moo::HandleMoose::AuthorityHack');
|
|
}
|
|
$setup_done = 1;
|
|
}
|
|
|
|
1;
|