X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FDBIx%2FClass%2FStorage%2FDBI%2FOracle.pm;h=bf50bcc7dd21d3b285d0571af774eb3441c116b1;hb=64ae166780d0cb2b9577e506da9b9b240c146d20;hp=7a49b5094366e108b092720822922a0bdb569b0a;hpb=9ae966b90f1220796b4fef69a97e7c4fb360d6bc;p=dbsrgits%2FDBIx-Class.git diff --git a/lib/DBIx/Class/Storage/DBI/Oracle.pm b/lib/DBIx/Class/Storage/DBI/Oracle.pm index 7a49b50..bf50bcc 100644 --- a/lib/DBIx/Class/Storage/DBI/Oracle.pm +++ b/lib/DBIx/Class/Storage/DBI/Oracle.pm @@ -5,25 +5,25 @@ use warnings; use base qw/DBIx::Class::Storage::DBI/; use mro 'c3'; +use Try::Tiny; +use namespace::clean; sub _rebless { my ($self) = @_; - my $version = eval { $self->_get_dbh->get_info(18); }; + try { + my $version = $self->_get_dbh->get_info(18); - if ( !$@ ) { - my ($major, $minor, $patchlevel) = split(/\./, $version); + my ($major, $minor, $patchlevel) = split(/\./, $version); - # Default driver - my $class = $major <= 8 - ? 'DBIx::Class::Storage::DBI::Oracle::WhereJoins' - : 'DBIx::Class::Storage::DBI::Oracle::Generic'; + # Default driver + my $class = $major <= 8 + ? 'DBIx::Class::Storage::DBI::Oracle::WhereJoins' + : 'DBIx::Class::Storage::DBI::Oracle::Generic'; - # Load and rebless - eval "require $class"; - - bless $self, $class unless $@; - } + $self->ensure_class_loaded ($class); + bless $self, $class; + }; } 1; @@ -32,11 +32,6 @@ sub _rebless { DBIx::Class::Storage::DBI::Oracle - Base class for Oracle driver -=head1 SYNOPSIS - - # In your table classes - __PACKAGE__->load_components(qw/Core/); - =head1 DESCRIPTION This class simply provides a mechanism for discovering and loading a sub-class