use Moose;
no warnings 'uninitialized';
-our $VERSION = '0.51';
+our $VERSION = '0.59';
$VERSION = eval $VERSION;
use Carp;
$i += 2;
}
- while (defined $args->[$i]) {
- my ($key, $val) = split /=/, $args->[$i++], 2;
+ my $have_loader = try {
+ Class::MOP::load_class('DBIx::Class::Schema::Loader::Base');
+ 1;
+ };
- if ($self->_is_struct($val)) {
- $loader_args{$key} = $val;
- } elsif ((my @vals = split /,/ => $val) > 1) {
- $loader_args{$key} = \@vals;
- } else {
- $loader_args{$key} = $val;
+ if ($have_loader) {
+ while (defined $args->[$i]) {
+ $i++ while $self->_is_struct($args->[$i]);
+
+ last if not defined $args->[$i];
+
+ my ($key, $val) = split /=/, $args->[$i], 2;
+
+ if (not DBIx::Class::Schema::Loader::Base->can($key)) {
+ $i++;
+ next;
+ }
+
+ if ($self->_is_struct($val)) {
+ $loader_args{$key} = $val;
+ } elsif ((my @vals = split /,/ => $val) > 1) {
+ $loader_args{$key} = \@vals;
+ } else {
+ $loader_args{$key} = $val;
+ }
+
+ splice @$args, $i, 1;
}
}