X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FDBIx%2FClass.pm;h=7aba89577410c77921e2a180d9a66c1e22d07433;hb=20674fcd94984d0d2be09ecda7f3c22715468936;hp=0207ec80a1f5af99f86e89ce1d0671c544a65caa;hpb=157ce0cfdee831491de41596b44e19cd7b45dfeb;p=dbsrgits%2FDBIx-Class.git diff --git a/lib/DBIx/Class.pm b/lib/DBIx/Class.pm index 0207ec8..7aba895 100644 --- a/lib/DBIx/Class.pm +++ b/lib/DBIx/Class.pm @@ -11,6 +11,7 @@ use DBIx::Class::Optional::Dependencies; use vars qw($VERSION); use base qw/DBIx::Class::Componentised Class::Accessor::Grouped/; use DBIx::Class::StartupCheck; +use Try::Tiny; sub mk_classdata { shift->mk_classaccessor(@_); @@ -27,7 +28,7 @@ sub component_base_class { 'DBIx::Class' } # Always remember to do all digits for the version even if they're 0 # i.e. first release of 0.XX *must* be 0.XX000. This avoids fBSD ports # brain damage and presumably various other packaging systems too -$VERSION = '0.08120_1'; +$VERSION = '0.08121_01'; $VERSION = eval $VERSION if $VERSION =~ /_/; # numify for warning-free dev releases @@ -42,8 +43,14 @@ sub MODIFY_CODE_ATTRIBUTES { sub _attr_cache { my $self = shift; my $cache = $self->can('__attr_cache') ? $self->__attr_cache : {}; - my $rest = eval { $self->next::method }; - return $@ ? $cache : { %$cache, %$rest }; + my $rest; + my $exception; + try { + $rest = $self->next::method; + } catch { + $exception = 1; + }; + return $exception ? $cache : { %$cache, %$rest }; } 1; @@ -218,7 +225,7 @@ is traditional :) =head1 CONTRIBUTORS -abraxxa: Alexander Hartmaier +abraxxa: Alexander Hartmaier aherzog: Adam Herzog @@ -384,6 +391,8 @@ wreis: Wallace Reis zamolxes: Bogdan Lucaciu +Possum: Daniel LeWarne + =head1 COPYRIGHT Copyright (c) 2005 - 2010 the DBIx::Class L and L