Branch Coverage

blib/lib/Rose/DBx/Object/Builder.pm
Criterion Covered Total %
branch 46 84 54.7


line true false branch
20 1 6 unless ($self and defined $$self{'CONFIG'})
101 1 6 if (@_)
104 1 0 if (ref $$config{$hash} eq 'HASH') { }
106 0 1 if (ref $$config{$hash}{$key} eq 'HASH') { }
130 0 0 unless $schema
132 0 0 unless ($dbh)
133 0 0 unless $$config{'db'}{'name'}
135 0 0 if $$config{'db'}{'host'}
136 0 0 if $$config{'db'}{'port'}
138 0 0 unless $dbh = 'DBI'->connect($dsn, $$config{'db'}{'username'}, $$config{'db'}{'password'}, $$config{'db'}{'options'})
143 0 0 unless $dbh->do($sql)
145 0 0 unless $$config{'db'}{'options'}{'AutoCommit'}
148 0 0 if ($@)
153 0 0 unless $dbh->disconnect
160 5 0 if ($string)
164 5 25 if ($expression =~ /\s+as\s+/) { }
5 20 elsif ($expression =~ /vice[\s\-]+versa/) { }
5 15 elsif ($expression =~ /(has|have)\s+many/) { }
176 30 0 if $schema
185 0 1 unless $schema
189 5 4 if ($schema =~ /CREATE/)
204 0 5 unless $table_name and $foreign_table_name and $foreign_key
208 5 0 $$config{'foreign_key'}{'singular'} ? :
233 0 5 unless $table_name and $foreign_table_name
247 10 0 $$config{'foreign_key'}{'singular'} ? :
266 0 5 unless $table_name and $foreign_table_name
272 5 0 $$config{'foreign_key'}{'singular'} ? :
293 0 20 unless $table_name and $columns
305 5 30 if ($foreign_table_columns =~ /^\s*(has|have)/) { }
308 5 0 $$config{'foreign_key'}{'singular'} ? :
316 5 25 if ($foreign_table_columns =~ /^reference/) { }
25 0 elsif (exists $$config{'columns'}{$foreign_table_columns}) { }
320 5 0 if ($reference_table) { }
340 10 70 if (exists $$foreign_keys{$column}) { }
344 25 45 if (exists $$custom_columns{$column}) { }
20 25 elsif (exists $$config{'columns'}{$column}) { }
353 20 290 if ($column =~ /$column_key/)
360 20 5 if ($column_type) { }
389 0 85 if $word =~ s/ses$/s/
390 0 85 if $word =~ /[aeiouy]ss$/i
408 60 0 if ($$config{'db'}{'tables_are_singular'}) { }
415 24 36 if defined $$config{'db'}{'table_prefix'}