bigpresh / Dancer-Plugin-Database

Dancer::Plugin::Database - easy database support for Dancer applications
http://search.cpan.org/dist/Dancer-Plugin-Database
37 stars 36 forks source link

Unable to set handle class to DBI::db #37

Open Wu-Wu opened 11 years ago

Wu-Wu commented 11 years ago

If pointed to use handle_class: 'DBI::db', the plugin tries to require DBI/db.pm module and Dancer raises an exeption because DBI::db package located inside DBI.pm module.

At the moment I dont know how to handle this. May be a hashref of classes and its packages to load will be used. E.g.

$special = {
  'DBI::db' => 'DBI.pm',
  'DBD::Proxy::db' => 'DBD/Proxy.pm',
  ...
};

if (exists $special->{$handle_class}) {
  $package = $special->{$handle_class};
}
else {
  $package = $handle_class;
  $package =~ s{::}{/}g;
  $package .= '.pm';
}

require $package;