X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FDBIx%2FClass%2FCDBICompat%2FStringify.pm;h=4d13171e82299ef1b2b86bf86179c4f99facc4e6;hb=fcf32d045;hp=a3a4c28eb06c14bf9efe809ed4a08e7f9af35fba;hpb=a3018bd384d02955c5a442cf2fd1ac654393a3c8;p=dbsrgits%2FDBIx-Class.git diff --git a/lib/DBIx/Class/CDBICompat/Stringify.pm b/lib/DBIx/Class/CDBICompat/Stringify.pm index a3a4c28..4d13171 100644 --- a/lib/DBIx/Class/CDBICompat/Stringify.pm +++ b/lib/DBIx/Class/CDBICompat/Stringify.pm @@ -1,18 +1,21 @@ -package DBIx::Class::CDBICompat::Stringify; +package # hide from PAUSE + DBIx::Class::CDBICompat::Stringify; use strict; use warnings; +use Scalar::Util; + use overload - '""' => sub { shift->stringify_self }; + '""' => sub { return shift->stringify_self; }, + fallback => 1; sub stringify_self { my $self = shift; - #return (ref $self || $self) unless $self; # empty PK - #return ref $self unless $self; my @cols = $self->columns('Stringify'); - #@cols = $self->primary_column unless @cols; - #return join "/", map { $self->get($_) } @cols; + @cols = $self->primary_column unless @cols; + my $ret = join "/", map { $self->get_column($_) || '' } @cols; + return $ret || ref $self; } 1;