Fix building on perls with no . in @INC
[dbsrgits/DBIx-Class.git] / t / lib / DBICTest / DynamicForeignCols / TestComputer.pm
CommitLineData
38fe1ff9 1package DBICTest::DynamicForeignCols::TestComputer;
2
3use warnings;
4use strict;
5
6use base 'DBIx::Class::Core';
7
8__PACKAGE__->table('TestComputer');
9__PACKAGE__->add_columns(qw( test_id ));
10__PACKAGE__->_add_join_column({ class => 'DBICTest::DynamicForeignCols::Computer', method => 'computer' });
11__PACKAGE__->set_primary_key('test_id', 'computer_id');
12__PACKAGE__->belongs_to(computer => 'DBICTest::DynamicForeignCols::Computer', 'computer_id');
13
14###
15### This is a pathological case lifted from production. Yes, there is code
16### like this in the wild
17###
18sub _add_join_column {
19 my ($self, $params) = @_;
20
21 my $class = $params->{class};
22 my $method = $params->{method};
23
24 $self->ensure_class_loaded($class);
25
26 my @class_columns = $class->primary_columns;
27
28 if (@class_columns = 1) {
29 $self->add_columns( "${method}_id" );
30 } else {
31 my $i = 0;
32 for (@class_columns) {
33 $i++;
34 $self->add_columns( "${method}_${i}_id" );
35 }
36 }
37}
38
391;