File Coverage

blib/lib/ORM/Filter.pm
Criterion Covered Total %
statement 14 14 100.0
branch 3 4 75.0
condition n/a
subroutine 4 4 100.0
pod 0 1 0.0
total 21 23 91.3


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::Filter;
30              
31             $VERSION=0.8;
32              
33 5     5   31 use ORM;
  5         10  
  5         154  
34 5     5   24 use overload 'fallback' => 1;
  5         9  
  5         26  
35 5     5   260 use base 'ORM::Expr';
  5         9  
  5         818  
36              
37             ##
38             ## SUBROUTINES
39             ##
40              
41             sub scalar2sql
42             {
43 24     24 0 36 my $class = shift;
44 24         37 my $scalar = shift;
45 24         36 my $tjoin = shift;
46 24         33 my $ident = shift;
47              
48             return
49 24 50       125 ref $scalar
    100          
50             ? $scalar->_sql_str( tjoin=>$tjoin, ident=>$ident )
51             : ( defined $scalar ? $tjoin->class->ORM::qc( $scalar ) : 'NULL' );
52             }