First of a two-parter :)
[dbsrgits/DBIx-Class.git] / lib / DBIx / Class / CDBICompat / Stringify.pm
1 package DBIx::Class::CDBICompat::Stringify;
2
3 use strict;
4 use warnings;
5
6 use Scalar::Util;
7
8 use overload
9   '""' => sub {
10             return Scalar::Util::refaddr($_[0]) if (caller)[0] eq 'NEXT';
11             return shift->stringify_self; },
12   fallback => 1;
13
14 sub stringify_self {
15         my $self = shift;
16         my @cols = $self->columns('Stringify');
17         @cols = $self->primary_column unless @cols;
18         my $ret = join "/", map { $self->get_column($_) } @cols;
19         return $ret || ref $self;
20 }
21
22 1;