X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FDBIx%2FClass%2FCDBICompat%2FGetSet.pm;h=e9480488c37c4a07100678b58a88f60b3fd3bab8;hb=5e0eea3522876a30453af24097507198bbbc9409;hp=80e941f06c5d68a9266dd12ddacb2c853213a964;hpb=4c9f72c1b6c90bdba16fbaa481c5eb77f73a43e6;p=dbsrgits%2FDBIx-Class.git diff --git a/lib/DBIx/Class/CDBICompat/GetSet.pm b/lib/DBIx/Class/CDBICompat/GetSet.pm index 80e941f..e948048 100644 --- a/lib/DBIx/Class/CDBICompat/GetSet.pm +++ b/lib/DBIx/Class/CDBICompat/GetSet.pm @@ -4,7 +4,7 @@ package # hide from PAUSE use strict; use warnings; -#use base qw/Class::Accessor/; +use base 'DBIx::Class'; sub get { my ($self, @cols) = @_; @@ -17,6 +17,15 @@ sub get { sub set { my($self, %data) = @_; + + # set_columns() is going to do a string comparison before setting. + # This breaks on DateTime objects (whose comparison is arguably broken) + # so we stringify anything first. + for my $key (keys %data) { + next unless ref $data{$key}; + $data{$key} = "$data{$key}"; + } + return shift->set_columns(\%data); }