File Coverage

blib/lib/ORM/Meta/ORM/Datetime.pm
Criterion Covered Total %
statement 8 10 80.0
branch 1 4 25.0
condition n/a
subroutine 3 3 100.0
pod n/a
total 12 17 70.5


line stmt bran cond sub pod time code
1             #
2             # DESCRIPTION
3             # PerlORM - Object relational mapper (ORM) for Perl. PerlORM is Perl
4             # library that implements object-relational mapping. Its features are
5             # much similar to those of Java's Hibernate library, but interface is
6             # much different and easier to use.
7             #
8             # AUTHOR
9             # Alexey V. Akimov
10             #
11             # COPYRIGHT
12             # Copyright (C) 2005-2006 Alexey V. Akimov
13             #
14             # This library is free software; you can redistribute it and/or
15             # modify it under the terms of the GNU Lesser General Public
16             # License as published by the Free Software Foundation; either
17             # version 2.1 of the License, or (at your option) any later version.
18             #
19             # This library is distributed in the hope that it will be useful,
20             # but WITHOUT ANY WARRANTY; without even the implied warranty of
21             # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
22             # Lesser General Public License for more details.
23             #
24             # You should have received a copy of the GNU Lesser General Public
25             # License along with this library; if not, write to the Free Software
26             # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
27             #
28              
29             package ORM::Meta::ORM::Datetime;
30              
31             $VERSION=0.8;
32              
33 2     2   11 use base 'ORM::Metaprop';
  2         5  
  2         485  
34              
35             package ORM::Datetime;
36              
37 19     19   92 sub __ORM_db_value { shift->mysql_datetime; }
38             sub __ORM_new_db_value
39             {
40 19     19   243 my $class = shift;
41 19         73 my %arg = @_;
42              
43 19 50       447 if( $arg{value} =~ /^\d+$/ )
    0          
44             {
45 19         136 $class->new_epoch( $arg{value} );
46             }
47             elsif( $arg{value} =~ /^0000\-00\-00( 00:00:00)?$/ )
48             {
49 0           undef;
50             }
51             else
52             {
53 0           $class->new_mysql( $arg{value} );
54             }
55             }