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