File Coverage

blib/lib/DBIx/Inspector/Table.pm
Criterion Covered Total %
statement 21 39 53.8
branch 0 2 0.0
condition 0 12 0.0
subroutine 7 17 41.1
pod 7 10 70.0
total 35 80 43.7


line stmt bran cond sub pod time code
1             package DBIx::Inspector::Table;
2 1     1   6 use strict;
  1         3  
  1         40  
3 1     1   5 use warnings;
  1         2  
  1         30  
4 1     1   1393 use utf8;
  1         13  
  1         8  
5 1     1   146 use Class::Accessor::Lite;
  1         3  
  1         8  
6             Class::Accessor::Lite->mk_accessors(qw/inspector/);
7 1     1   1532 use DBIx::Inspector::Column;
  1         3  
  1         43  
8 1     1   1331 use DBIx::Inspector::ForeignKey::Pg;
  1         3  
  1         37  
9 1     1   1300 use DBIx::Inspector::Iterator::Null;
  1         3  
  1         646  
10              
11             sub new {
12 0     0 0   my $class = shift;
13 0 0         my %args = @_ == 1 ? %{ $_[0] } : @_;
  0            
14 0           bless {%args}, $class;
15             }
16              
17             sub columns {
18 0     0 1   my ($self, $column) = @_;
19 0           return $self->inspector->columns($self->name, $column);
20             }
21              
22             sub column {
23 0     0 1   my ($self, $column) = @_;
24 0           return $self->columns($column)->next;
25             }
26              
27             sub primary_key {
28 0     0 1   my $self = shift;
29 0           return $self->inspector->primary_key($self->name);
30             }
31              
32             sub pk_foreign_keys {
33 0     0 0   my ($self, $opt) = @_;
34              
35 0   0       return $self->inspector->foreign_keys(
      0        
36             $self->inspector->catalog,
37             $self->inspector->schema,
38             $self->name,
39             $opt->{fk_catalog} || $self->inspector->catalog,
40             $opt->{fk_schema} || $self->inspector->schema,
41             $opt->{fk_table},
42             );
43             }
44              
45             sub fk_foreign_keys {
46 0     0 0   my ($self, $opt) = @_;
47              
48 0   0       return $self->inspector->foreign_keys(
      0        
49             $opt->{pk_catalog} || $self->inspector->catalog,
50             $opt->{pk_schema} || $self->inspector->schema,
51             $opt->{pk_table},
52             $self->inspector->catalog,
53             $self->inspector->schema,
54             $self->name
55             );
56             }
57              
58 0     0 1   sub name { $_[0]->{TABLE_NAME} }
59 0     0 1   sub catalog { $_[0]->{TABLE_CAT} }
60 0     0 1   sub schema { $_[0]->{TABLE_SCHEM} }
61 0     0 1   sub type { $_[0]->{TABLE_TYPE} }
62              
63             1;
64             __END__