From: Bryan Beeley Date: Tue, 2 Feb 2010 21:59:28 +0000 (+0000) Subject: - Simplify by allowing moving column_info depreciated {extra}{timezone} data to X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=commitdiff_plain;h=c3ed0bde7dd31f6eeb724576cdbe932d88d5662a;p=dbsrgits%2FDBIx-Class-Historic.git - Simplify by allowing moving column_info depreciated {extra}{timezone} data to {timezone} (and the same with locale) --- 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; }