X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?p=catagits%2FCatalyst-Model-DBIC-Schema.git;a=blobdiff_plain;f=lib%2FCatalyst%2FModel%2FDBIC%2FSchema%2FTypes.pm;h=0356482b589fa1e76f3ae3c02547a99cd0991fb7;hp=44aee6bb4bc17c707226f50eac498117c6bc021f;hb=45b101914d8e7130178e9f9748deda25992b6317;hpb=98489874ed2772e4b54880c1f6f870c8ed5f5bfa diff --git a/lib/Catalyst/Model/DBIC/Schema/Types.pm b/lib/Catalyst/Model/DBIC/Schema/Types.pm index 44aee6b..0356482 100644 --- a/lib/Catalyst/Model/DBIC/Schema/Types.pm +++ b/lib/Catalyst/Model/DBIC/Schema/Types.pm @@ -2,30 +2,22 @@ package # hide from PAUSE 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,