package Catalyst::Helper::Model::DBIC::Schema;
+use namespace::autoclean;
use Moose;
no warnings 'uninitialized';
-our $VERSION = '0.24';
+our $VERSION = '0.25';
use Carp;
use Tie::IxHash ();
use List::MoreUtils 'firstidx';
use Scalar::Util 'looks_like_number';
-use namespace::clean -except => 'meta';
-
=head1 NAME
Catalyst::Helper::Model::DBIC::Schema - Helper for DBIC Schema Models
$helper->{loader_args} = $self->_build_helper_loader_args;
- if (first { /^dbi:/i } @args) {
+ my $dbi_dsn_part;
+ if (first { ($dbi_dsn_part) = /^(dbi):/i } @args) {
+ die
+qq{DSN must start with 'dbi:' not '$dbi_dsn_part' (case matters!)}
+ if $dbi_dsn_part ne 'dbi';
+
$helper->{setup_connect_info} = 1;
$helper->{connect_info} =
my %loader_args;
- while (@$args && $args->[0] !~ /^dbi:/) {
+ while (@$args && $args->[0] !~ /^dbi:/i) {
my ($key, $val) = split /=/, shift(@$args), 2;
if ($self->_is_struct($val)) {
if ($dsn =~ /sqlite/i) {
($user, $password) = ('', '');
- shift @$connect_info while $connect_info->[0] eq '';
+ shift @$connect_info while @$connect_info and $connect_info->[0] eq '';
} else {
($user, $password) = splice @$connect_info, 0, 2;
}
Contributors:
-Rafael Kitover, C<<rkitover at cpan.org>>
+Rafael Kitover, C<rkitover at cpan.org>
=head1 LICENSE