Revision history for Perl extension Catalyst::Model::DBIC::Schema
- Don't ship MYMETA.* files (RT#91808)
+ - Stop using deprecated Class::MOP::load_module
0.61 2013-06-19 12:48:34
- Fix test failure caused by hash randomisation in perl 5.17 (RT#82917)
requires 'Moose' => '1.12';
requires 'MooseX::Types';
+requires 'MooseX::Types::LoadableClass' => 0.009;
+requires 'Module::Runtime' => '0.012';
requires 'namespace::autoclean' => 0.09;
requires 'Carp::Clan';
requires 'List::MoreUtils';
use File::Find 'finddepth';
use Try::Tiny;
use Cwd 'getcwd';
+use Module::Runtime 'use_module';
=head1 NAME
}
my $have_loader = try {
- Class::MOP::load_class('DBIx::Class::Schema::Loader::Base');
+ use_module('DBIx::Class::Schema::Loader::Base');
1;
};
File::Spec->catfile($self->helper->{base}, 'lib', @schema_parts) . '.pm';
if (not -f $schema_pm) {
- eval { Class::MOP::load_class('DBIx::Class::Schema::Loader') };
+ eval { use_module('DBIx::Class::Schema::Loader') };
return 'Result' if $@;
my $schema_dir = File::Spec->catfile($helper->{base}, 'lib');
try {
- Class::MOP::load_class('DBIx::Class::Schema::Loader')
+ use_module('DBIx::Class::Schema::Loader')
}
catch {
die "Cannot load DBIx::Class::Schema::Loader: $_";
require lib;
lib->import($schema_dir);
- Class::MOP::load_class($self->schema_class);
+ use_module($self->schema_class);
my @sources = $self->schema_class->sources;
use Carp::Clan '^Catalyst::Model::DBIC::Schema';
use Data::Dumper;
use DBIx::Class ();
+use Module::Runtime qw/use_module/;
use Catalyst::Model::DBIC::Schema::Types
- qw/ConnectInfo LoadedClass SchemaClass Schema/;
+ qw/ConnectInfo SchemaClass Schema/;
-use MooseX::Types::Moose qw/ArrayRef Str ClassName Undef/;
+use MooseX::Types::Moose qw/Str/;
+use MooseX::Types::LoadableClass qw/LoadableClass/;
=head1 NAME
has schema_class => (
is => 'ro',
isa => SchemaClass,
- coerce => 1,
required => 1
);
has _default_cursor_class => (
is => 'ro',
- isa => LoadedClass,
+ isa => LoadableClass,
default => 'DBIx::Class::Storage::DBI::Cursor',
- coerce => 1
);
has schema => (is => 'rw', isa => Schema);
}
if (exists $self->connect_info->{cursor_class}) {
- eval { Class::MOP::load_class($self->connect_info->{cursor_class}) }
+ eval { use_module($self->connect_info->{cursor_class}) }
or croak "invalid connect_info: Cannot load your cursor_class"
. " ".$self->connect_info->{cursor_class}.": $@";
}
Catalyst::Model::DBIC::Schema::Types;
use MooseX::Types -declare => [qw/
- ConnectInfo ConnectInfos Replicants SchemaClass LoadedClass CreateOption
+ ConnectInfo ConnectInfos Replicants SchemaClass CreateOption
Schema
/];
use Carp::Clan '^Catalyst::Model::DBIC::Schema';
use MooseX::Types::Moose qw/ArrayRef HashRef CodeRef Str ClassName/;
+use MooseX::Types::LoadableClass qw/LoadableClass/;
use Scalar::Util 'reftype';
use List::MoreUtils 'all';
use namespace::clean -except => 'meta';
-subtype LoadedClass,
- as ClassName;
-
-coerce LoadedClass,
- from Str, # N.B. deliberate paranoia against $_ clobbering below
- via { my $classname = $_; Class::MOP::load_class($classname); $classname };
-
subtype SchemaClass,
- as ClassName,
+ as LoadableClass,
where { $_->isa('DBIx::Class::Schema') };
-SchemaClass->coercion(LoadedClass->coercion);
-
class_type Schema, { class => 'DBIx::Class::Schema' };
subtype ConnectInfo,
use Moose::Role;
use Carp::Clan '^Catalyst::Model::DBIC::Schema';
use MooseX::Types::Moose 'Int';
+use Module::Runtime 'use_module';
=head1 NAME
my $cursor_class = $self->connect_info->{cursor_class}
|| 'DBIx::Class::Cursor::Cached';
- unless (eval { Class::MOP::load_class($cursor_class) }) {
+ unless (eval { use_module($cursor_class) }) {
carp "Caching disabled, cannot load cursor class"
. " $cursor_class: $@";
return;
use Moose::Role;
use Carp::Clan '^Catalyst::Model::DBIC::Schema';
-use Catalyst::Model::DBIC::Schema::Types qw/ConnectInfos LoadedClass/;
+use Catalyst::Model::DBIC::Schema::Types qw/ConnectInfos LoadableClass/;
use MooseX::Types::Moose qw/Str HashRef/;
+use Module::Runtime qw/use_module/;
+
=head1 NAME
Catalyst::TraitFor::Model::DBIC::Schema::Replicated - Replicated storage support for
is => 'ro', isa => ConnectInfos, coerce => 1, required => 1
);
-has pool_type => (is => 'ro', isa => LoadedClass);
+has pool_type => (is => 'ro', isa => LoadableClass);
has pool_args => (is => 'ro', isa => HashRef);
has balancer_type => (is => 'ro', isa => Str);
has balancer_args => (is => 'ro', isa => HashRef);
"DBIx::Class::Storage$storage_type"
: $storage_type;
- Class::MOP::load_class($class);
+ use_module($class);
croak "This storage_type cannot be used with replication"
unless $class->isa('DBIx::Class::Storage::DBI::Replicated');