Added register_column API
[dbsrgits/DBIx-Class.git] / lib / DBIx / Class / ResultSourceInstance.pm
CommitLineData
b98e75f6 1package DBIx::Class::ResultSourceInstance;
2
3use strict;
4use warnings;
5
6use base qw/DBIx::Class/;
7
8sub iterator_class { shift->result_source_instance->resultset_class(@_) }
9sub resultset_class { shift->result_source_instance->resultset_class(@_) }
10
11sub add_columns {
12 my ($class, @cols) = @_;
1f23a877 13 my $source = $class->result_source_instance;
14 $source->add_columns(@cols);
15 foreach my $c (grep { !ref } @cols) {
16 $class->register_column($c => $source->column_info($c));
17 }
b98e75f6 18}
19
20sub _select_columns {
21 return shift->result_source_instance->columns;
22}
23
24sub has_column {
25 my ($self, $column) = @_;
26 return $self->result_source_instance->has_column($column);
27}
28
29sub column_info {
30 my ($self, $column) = @_;
31 return $self->result_source_instance->column_info($column);
32}
33
34
35sub columns {
36 return shift->result_source_instance->columns(@_);
37}
38
39sub set_primary_key { shift->result_source_instance->set_primary_key(@_); }
40sub primary_columns { shift->result_source_instance->primary_columns(@_); }
41
8c49f629 42sub add_relationship {
43 shift->result_source_instance->add_relationship(@_);
44}
45
46sub relationships {
47 shift->result_source_instance->relationships(@_);
48}
49
50sub relationship_info {
51 shift->result_source_instance->relationship_info(@_);
52}
53
b98e75f6 541;