File Coverage

blib/lib/DBIx/Romani/Query/SQL/TTT/Operator.pm
Criterion Covered Total %
statement 9 31 29.0
branch 0 2 0.0
condition n/a
subroutine 3 9 33.3
pod 0 6 0.0
total 12 48 25.0


line stmt bran cond sub pod time code
1              
2             package DBIx::Romani::Query::SQL::TTT::Operator;
3              
4 1     1   6 use DBIx::Romani::Query::SQL::Column;
  1         2  
  1         25  
5 1     1   6 use DBIx::Romani::Query::SQL::Literal;
  1         2  
  1         20  
6 1     1   6 use strict;
  1         2  
  1         349  
7              
8             sub new
9             {
10 0     0 0   my $class = shift;
11 0           my $args = shift;
12              
13 0           my $op;
14              
15 0 0         if ( ref($args) eq 'HASH' )
16             {
17 0           $op = $args->{op};
18             }
19             else
20             {
21 0           $op = $args;
22             }
23              
24 0           my $self = {
25             op => $op,
26             values => [ ],
27             };
28              
29 0           bless $self, $class;
30 0           return $self;
31             }
32              
33 0     0 0   sub get_operator { return shift->{op}; }
34 0     0 0   sub get_values { return shift->{values}; }
35              
36             sub add
37             {
38 0     0 0   my ($self, $value) = @_;
39 0           push @{$self->{values}}, $value;
  0            
40             }
41              
42             sub visit
43             {
44 0     0 0   my ($self, $visitor) = (shift, shift);
45 0           return $visitor->visit_ttt_operator( $self, @_ );
46             }
47              
48             sub clone
49             {
50 0     0 0   my $self = shift;
51              
52 0           my $clone = DBIx::Romani::Query::SQL::TTT::Operator->new({ op => $self->get_operator() });
53 0           foreach my $value ( @{$self->get_values()} )
  0            
54             {
55 0           $clone->add( $value );
56             }
57              
58 0           return $clone;
59             }
60              
61             1;
62