X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FDBIx%2FClass%2FInflateColumn%2FDateTime.pm;h=ad3da46d0d1f7f765153cb9f80515632c1c0ff34;hb=be860760714f5933672f8913d742f6cde6931149;hp=0966657b871b1cb44a01d90bdbb90d66907eb5d4;hpb=f856fe014648742bda7017b504e743803404efcb;p=dbsrgits%2FDBIx-Class-Historic.git diff --git a/lib/DBIx/Class/InflateColumn/DateTime.pm b/lib/DBIx/Class/InflateColumn/DateTime.pm index 0966657..ad3da46 100644 --- a/lib/DBIx/Class/InflateColumn/DateTime.pm +++ b/lib/DBIx/Class/InflateColumn/DateTime.pm @@ -136,23 +136,18 @@ sub register_column { } } - my $timezone; if ( defined $info->{extra}{timezone} ) { carp "Putting timezone into extra => { timezone => '...' } has been deprecated, ". "please put it directly into the '$column' column definition."; - $timezone = $info->{extra}{timezone}; + $info->{timezone} = $info->{extra}{timezone} unless defined $info->{timezone}; } - my $locale; if ( defined $info->{extra}{locale} ) { carp "Putting locale into extra => { locale => '...' } has been deprecated, ". "please put it directly into the '$column' column definition."; - $locale = $info->{extra}{locale}; + $info->{locale} = $info->{extra}{locale} unless defined $info->{locale}; } - $locale = $info->{locale} if defined $info->{locale}; - $timezone = $info->{timezone} if defined $info->{timezone}; - my $undef_if_invalid = $info->{datetime_undef_if_invalid}; if ($type eq 'datetime' || $type eq 'date' || $type eq 'timestamp') { @@ -218,24 +213,8 @@ sub _datetime_parser { sub _post_inflate_datetime { my( $self, $dt, $info ) = @_; - my $timezone; - if (exists $info->{timezone}) { - $timezone = $info->{timezone}; - } - elsif (exists $info->{extra} and exists $info->{extra}{timezone}) { - $timezone = $info->{extra}{timezone}; - } - - my $locale; - if (exists $info->{locale}) { - $locale = $info->{locale}; - } - elsif (exists $info->{extra} and exists $info->{extra}{locale}) { - $locale = $info->{extra}{locale}; - } - - $dt->set_time_zone($timezone) if $timezone; - $dt->set_locale($locale) if $locale; + $dt->set_time_zone($info->{timezone}) if defined $info->{timezone}; + $dt->set_locale($info->{locale}) if defined $info->{locale}; return $dt; } @@ -243,33 +222,17 @@ sub _post_inflate_datetime { sub _pre_deflate_datetime { my( $self, $dt, $info ) = @_; - my $timezone; - if (exists $info->{timezone}) { - $timezone = $info->{timezone}; - } - elsif (exists $info->{extra} and exists $info->{extra}{timezone}) { - $timezone = $info->{extra}{timezone}; - } - - my $locale; - if (exists $info->{locale}) { - $locale = $info->{locale}; - } - elsif (exists $info->{extra} and exists $info->{extra}{locale}) { - $locale = $info->{extra}{locale}; - } - - if ($timezone) { + if (defined $info->{timezone}) { carp "You're using a floating timezone, please see the documentation of" . " DBIx::Class::InflateColumn::DateTime for an explanation" if ref( $dt->time_zone ) eq 'DateTime::TimeZone::Floating' and not $info->{floating_tz_ok} and not $ENV{DBIC_FLOATING_TZ_OK}; - $dt->set_time_zone($timezone); + $dt->set_time_zone($info->{timezone}); } - $dt->set_locale($locale) if $locale; + $dt->set_locale($info->{locale}) if defined $info->{locale}; return $dt; }