use Plack::Middleware::IIS6ScriptNameFix;
use Plack::Middleware::IIS7KeepAliveFix;
use Plack::Middleware::LighttpdScriptNameFix;
+use Class::Load 'load_class';
BEGIN { require 5.008003; }
$dispatcher = $class->dispatcher_class;
}
- Class::MOP::load_class($dispatcher);
+ load_class($dispatcher);
# dispatcher instance
$class->dispatcher( $dispatcher->new );
# Don't really setup_engine -- see _setup_psgi_app for explanation.
return if $class->loading_psgi_file;
- Class::MOP::load_class($engine);
+ load_class($engine);
if ($ENV{MOD_PERL}) {
my $apache = $class->engine_loader->auto;
my ( $proto, $plugin, $instant ) = @_;
my $class = ref $proto || $proto;
- Class::MOP::load_class( $plugin );
+ load_class( $plugin );
$class->log->warn( "$plugin inherits from 'Catalyst::Component' - this is deprecated and will not work in 5.81" )
if $plugin->isa( 'Catalyst::Component' );
my $plugin_meta = Moose::Meta::Class->create($plugin);
} @{ $plugins };
for my $plugin ( reverse @plugins ) {
- Class::MOP::load_class($plugin->[0], $plugin->[1]);
+ load_class($plugin->[0], $plugin->[1]);
my $meta = find_meta($plugin->[0]);
next if $meta && $meta->isa('Moose::Meta::Role');
use MRO::Compat;
use mro 'c3';
use Scalar::Util 'blessed';
+use Class::Load 'is_class_loaded';
use namespace::clean -except => 'meta';
with 'MooseX::Emulate::Class::Accessor::Fast';
} elsif (@_ == 2) { # is it ($app, $args) or foo => 'bar' ?
if (blessed($_[0])) {
$args = $_[1] if ref($_[1]) eq 'HASH';
- } elsif (Class::MOP::is_class_loaded($_[0]) &&
+ } elsif (is_class_loaded($_[0]) &&
$_[0]->isa('Catalyst') && ref($_[1]) eq 'HASH') {
$args = $_[1];
} else {
? $args{attributes}{ActionClass}[0]
: $self->_action_class);
- Class::MOP::load_class($class);
+ load_class($class);
return $class;
}
use Text::SimpleTable;
use Tree::Simple;
use Tree::Simple::Visitor::FindByPath;
+use Class::Load qw(load_class try_load_class);
use namespace::clean -except => 'meta';
unless ( $registered->{$class} ) {
# FIXME - Some error checking and re-throwing needed here, as
# we eat exceptions loading dispatch types.
- eval { Class::MOP::load_class($class) };
+ # see also try_load_class
+ eval { load_class($class) };
my $load_failed = $@;
$self->_check_deprecated_dispatch_type( $key, $load_failed );
push( @{ $self->dispatch_types }, $class->new ) unless $load_failed;
# first param is undef because we cannot get the appclass
my $class = Catalyst::Utils::resolve_namespace(undef, 'Catalyst::DispatchType', $type);
- eval { Class::MOP::load_class($class) };
- Catalyst::Exception->throw( message => qq/Couldn't load "$class"/ )
- if $@;
+ my ($success, $error) = try_load_class($class);
+ Catalyst::Exception->throw( message => $error ) if not $success;
push @{ $self->dispatch_types }, $class->new;
push @loaded, $class;
package Catalyst::Script::Create;
use Moose;
+use Class::Load 'load_class';
use namespace::autoclean;
with 'Catalyst::ScriptRole';
$self->print_usage_text if !$self->ARGV->[0];
my $helper_class = $self->helper_class;
- Class::MOP::load_class($helper_class);
+ load_class($helper_class);
my $helper = $helper_class->new( { '.newfiles' => !$self->force, mech => $self->mechanize } );
$self->print_usage_text unless $helper->mk_component( $self->application_name, @{$self->extra_argv} );
package Catalyst::Script::Server;
use Moose;
use Catalyst::Utils;
-use Try::Tiny;
+use Class::Load qw(try_load_class load_class);
use namespace::autoclean;
with 'Catalyst::ScriptRole';
as 'MooseX::Daemonize::Pid::File';
coerce 'Catalyst::Script::Server::Types::Pidfile', from 'Str', via {
- try { Class::MOP::load_class("MooseX::Daemonize::Pid::File") }
- catch {
- warn("Could not load MooseX::Daemonize::Pid::File, needed for --pid option\n");
- exit 1;
- };
+ my ($success, $error) = try_load_class("MooseX::Daemonize::Pid::File");
+ warn("Could not load MooseX::Daemonize::Pid::File, needed for --pid option: $error\n"),
+ exit 1 if not $success;
MooseX::Daemonize::Pid::File->new( file => $_ );
};
MooseX::Getopt::OptionTypeMap->add_option_type_to_map(
if ($self->background) {
# FIXME - This is evil. Should we just add MX::Daemonize to the deps?
- try { Class::MOP::load_class('MooseX::Daemonize::Core'); Class::MOP::load_class('POSIX') }
- catch {
- warn("MooseX::Daemonize is needed for the --background option\n");
- exit 1;
- };
+ my ($success, $error) = try_load_class("MooseX::Daemonize::Core");
+ warn("MooseX::Daemonize is needed for the --background option: $error\n"),
+ exit 1 if not $success;
+ my ($success, $error) = try_load_class("POSIX");
+ warn("$error\n"), exit 1 if not $success;
MooseX::Daemonize::Core->meta->apply($self);
POSIX::close($_) foreach (0..2);
}
return 1 unless $self->is_daemon;
- Class::MOP::load_class($self->application_name);
+ load_class($self->application_name);
$self->daemon_detach;
}
use Catalyst::EngineLoader;
use Moose::Util::TypeConstraints;
use Catalyst::Utils qw/ ensure_class_loaded /;
+use Class::Load 'load_class';
use namespace::autoclean;
subtype 'Catalyst::ScriptRole::LoadableClass',
sub _run_application {
my $self = shift;
my $app = $self->application_name;
- Class::MOP::load_class($app);
+ load_class($app);
my $server;
if (my $e = $self->_plack_engine_name ) {
$server = $self->load_engine($e, $self->_plack_loader_args);
use Plack::Test;
use Catalyst::Exception;
use Catalyst::Utils;
-use Class::MOP;
+use Class::Load qw(load_class is_class_loaded);
use Sub::Exporter;
use Carp 'croak', 'carp';
return sub { croak "Must specify a test app: use Catalyst::Test 'TestApp'" }
unless $class;
- Class::MOP::load_class($class) unless Class::MOP::is_class_loaded($class);
+ load_class($class) unless is_class_loaded($class);
$class->import;
return sub { _local_request( $class, @_ ) };
use URI;
use Carp qw/croak/;
use Cwd;
-use Class::MOP;
+use Class::Load 'is_class_loaded';
use String::RewritePrefix;
use namespace::clean;
# if it already has symbol table entries. This is to support things like Schema::Loader, which
# part-generate classes in memory, but then also load some of their contents from disk.
return if !$opts->{ ignore_loaded }
- && Class::MOP::is_class_loaded($class); # if a symbol entry exists we don't load again
+ && is_class_loaded($class); # if a symbol entry exists we don't load again
# this hack is so we don't overwrite $@ if the load did not generate an error
my $error;
die $error if $error;
warn "require $class was successful but the package is not defined."
- unless Class::MOP::is_class_loaded($class);
+ unless is_class_loaded($class);
return 1;
}
use strict;
use warnings;
use Test::More;
-use Class::MOP ();
+use Class::Load 'load_class';
use Moose::Util ();
# List of everything which used Class::Accessor::Fast in 5.70.
plan tests => scalar @modules;
foreach my $module (@modules) {
- Class::MOP::load_class($module);
+ load_class($module);
ok Moose::Util::does_role($module => 'MooseX::Emulate::Class::Accessor::Fast'),
"$module has Class::Accessor::Fast back-compat";
}
use strict;
use warnings;
+# FIXME - should proably use utf8??
our $VERSION = 0.1; # Make is_class_loaded happy
-# Class::MOP::load_class($_) can hurt you real hard.
+# Class::Load::load_class($_) can hurt you real hard.
BEGIN { $_ = q{
-mst sayeth, Class::MOP::load_class($_) will ruin your life
+mst sayeth, Class::Load::load_class($_) will ruin your life
rafl spokeh "i ♥ my $_"',
and verrily forsooth, t0m made tests
and yea, there was fail' }; }
+TestApp::Role
/;
use Catalyst::Utils;
+use Class::Load 'try_load_class';
use Moose;
use namespace::autoclean;
# above ->setup so we have some generated methods to be double sure.
has an_attribute_before_we_change_base_classes => ( is => 'ro');
-if ($::setup_leakchecker && eval { Class::MOP::load_class('CatalystX::LeakChecker'); 1 }) {
+if ($::setup_leakchecker && try_load_class('CatalystX::LeakChecker')) {
with 'CatalystX::LeakChecker';
has leaks => (
use warnings;
use Test::More tests => 18;
-use Class::MOP;
+use Class::Load 'is_class_loaded';
use lib "t/lib";
$warnings++;
};
-ok( !Class::MOP::is_class_loaded("TestApp::View::Dump"), "component not yet loaded" );
+ok( !is_class_loaded("TestApp::View::Dump"), "component not yet loaded" );
Catalyst::Utils::ensure_class_loaded("TestApp::View::Dump");
-ok( Class::MOP::is_class_loaded("TestApp::View::Dump"), "loaded ok" );
+ok( is_class_loaded("TestApp::View::Dump"), "loaded ok" );
is( $warnings, 0, "no warnings emitted" );
$warnings = 0;
Catalyst::Utils::ensure_class_loaded("TestApp::View::Dump");
is( $warnings, 0, "calling again doesn't reaload" );
-ok( !Class::MOP::is_class_loaded("TestApp::View::Dump::Request"), "component not yet loaded" );
+ok( !is_class_loaded("TestApp::View::Dump::Request"), "component not yet loaded" );
Catalyst::Utils::ensure_class_loaded("TestApp::View::Dump::Request");
-ok( Class::MOP::is_class_loaded("TestApp::View::Dump::Request"), "loaded ok" );
+ok( is_class_loaded("TestApp::View::Dump::Request"), "loaded ok" );
is( $warnings, 0, "calling again doesn't reaload" );