Any-Moose
view release on metacpan or search on metacpan
t/003-is_moose_loaded.t
t/004-x-modules-moose.t
t/004-x-modules-mouse.t
t/005-aliases-moose.t
t/005-aliases-mouse.t
t/010-use_mouse_roles.t
t/011-use_moose_roles.t
t/012-use_moose_util.t
t/012-use_mouse_util.t
t/020-strict.t
t/100-canonicalize-fragments.t
t/101-localize-errvar.t
t/lib/AnyMooseTest.pm
t/zzz-check-breaks.t
xt/author/00-compile.t
xt/author/eol.t
xt/author/kwalitee.t
xt/author/mojibake.t
xt/author/no-tabs.t
xt/author/pod-no404s.t
xt/author/pod-spell.t
lib/Any/Moose.pm view on Meta::CPAN
$@;
};
if ($e) {
require Carp;
Carp::croak("Cannot import Any::Moose: $e");
}
return;
}
sub any_moose {
my $fragment = _canonicalize_fragment(shift);
my $package = shift || caller;
# Mouse gets first dibs because it doesn't introspect existing classes
my $backer = _backer_of($package) || '';
if ($backer =~ /^Mouse/) {
$fragment =~ s/^Moose/Mouse/;
return $fragment;
}
return $fragment if $backer =~ /^Moose/;
$fragment =~ s/^Moose/Mouse/ if mouse_is_preferred();
return $fragment;
}
for my $name (qw/
load_class
is_class_loaded
class_of
get_metaclass_by_name
get_all_metaclass_instances
get_all_metaclass_names
load_first_existing_class
lib/Any/Moose.pm view on Meta::CPAN
sub moose_is_preferred { $PREFERRED eq 'Moose' }
sub mouse_is_preferred { $PREFERRED eq 'Mouse' }
sub _is_moose_loaded { exists $INC{'Moose.pm'} }
sub is_moose_loaded {
warnings::warnif('deprecated', "Any::Moose::is_moose_loaded is deprecated. Please use Any::Moose::moose_is_preferred instead");
goto \&_is_moose_loaded;
}
sub _canonicalize_fragment {
my $fragment = shift;
return 'Moose' if !$fragment;
# any_moose("X::Types") -> any_moose("MooseX::Types")
$fragment =~ s/^X::/MooseX::/;
# any_moose("::Util") -> any_moose("Moose::Util")
$fragment =~ s/^::/Moose::/;
# any_moose("Mouse::Util") -> any_moose("Moose::Util")
$fragment =~ s/^Mouse(X?)\b/Moose$1/;
# any_moose("Util") -> any_moose("Moose::Util")
$fragment =~ s/^(?!Moose)/Moose::/;
return $fragment;
}
1;
__END__
=pod
=encoding UTF-8
t/100-canonicalize-fragments.t view on Meta::CPAN
'MouseX::Types' => 'MooseX::Types',
'X::Types' => 'MooseX::Types',
'Moose::X::Types' => 'Moose::X::Types',
'Mouse::X::Types' => 'Moose::X::Types',
'::X::Types' => 'Moose::X::Types',
);
plan tests => @tests / 2;
while (my ($fragment, $expected) = splice @tests, 0, 2) {
my $got = Any::Moose::_canonicalize_fragment($fragment);
is($got, $expected, "Canonicalized '$fragment'");
}
xt/author/eol.t view on Meta::CPAN
't/003-is_moose_loaded.t',
't/004-x-modules-moose.t',
't/004-x-modules-mouse.t',
't/005-aliases-moose.t',
't/005-aliases-mouse.t',
't/010-use_mouse_roles.t',
't/011-use_moose_roles.t',
't/012-use_moose_util.t',
't/012-use_mouse_util.t',
't/020-strict.t',
't/100-canonicalize-fragments.t',
't/101-localize-errvar.t',
't/lib/AnyMooseTest.pm',
't/zzz-check-breaks.t',
'xt/author/00-compile.t',
'xt/author/eol.t',
'xt/author/kwalitee.t',
'xt/author/mojibake.t',
'xt/author/no-tabs.t',
'xt/author/pod-no404s.t',
'xt/author/pod-spell.t',
xt/author/no-tabs.t view on Meta::CPAN
't/003-is_moose_loaded.t',
't/004-x-modules-moose.t',
't/004-x-modules-mouse.t',
't/005-aliases-moose.t',
't/005-aliases-mouse.t',
't/010-use_mouse_roles.t',
't/011-use_moose_roles.t',
't/012-use_moose_util.t',
't/012-use_mouse_util.t',
't/020-strict.t',
't/100-canonicalize-fragments.t',
't/101-localize-errvar.t',
't/lib/AnyMooseTest.pm',
't/zzz-check-breaks.t',
'xt/author/00-compile.t',
'xt/author/eol.t',
'xt/author/kwalitee.t',
'xt/author/mojibake.t',
'xt/author/no-tabs.t',
'xt/author/pod-no404s.t',
'xt/author/pod-spell.t',
( run in 0.931 second using v1.01-cache-2.11-cpan-b16cb0d3907 )