Sanify search_related chaining code (no functional changes)
[dbsrgits/DBIx-Class.git] / lib / DBIx / Class / CDBICompat / GetSet.pm
1 package # hide from PAUSE
2     DBIx::Class::CDBICompat::GetSet;
3
4 use strict;
5 use warnings;
6
7 #use base qw/Class::Accessor/;
8
9 sub get {
10   my ($self, @cols) = @_;
11   if (@cols > 1) {
12     return map { $self->get_column($_) } @cols;
13   } else {
14     return $self->get_column($_[1]);
15   }
16 }
17
18 sub set {
19   my($self, %data) = @_;
20
21   # set_columns() is going to do a string comparison before setting.
22   # This breaks on DateTime objects (whose comparison is arguably broken)
23   # so we stringify anything first.
24   for my $key (keys %data) {
25     next unless ref $data{$key};
26     $data{$key} = "$data{$key}";
27   }
28
29   return shift->set_columns(\%data);
30 }
31
32 1;