add $source->resultset_attributes, include_columns rs attr
[dbsrgits/DBIx-Class.git] / lib / DBIx / Class / ResultSourceProxy.pm
CommitLineData
80c90f5d 1package DBIx::Class::ResultSourceProxy;
b98e75f6 2
3use strict;
4use warnings;
5
6use base qw/DBIx::Class/;
7
5ac6a044 8sub iterator_class { shift->result_source_instance->resultset_class(@_) }
b98e75f6 9sub resultset_class { shift->result_source_instance->resultset_class(@_) }
10
5ac6a044 11sub resultset_attributes {
12 shift->result_source_instance->resultset_attributes(@_);
13}
14
b98e75f6 15sub add_columns {
16 my ($class, @cols) = @_;
1f23a877 17 my $source = $class->result_source_instance;
18 $source->add_columns(@cols);
19 foreach my $c (grep { !ref } @cols) {
20 $class->register_column($c => $source->column_info($c));
21 }
b98e75f6 22}
23
b98e75f6 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
87f0da6a 42sub add_unique_constraint { shift->result_source_instance->add_unique_constraint(@_); }
43sub unique_constraints { shift->result_source_instance->unique_constraints(@_); }
44
8c49f629 45sub add_relationship {
71e65b39 46 my ($class, $rel, @rest) = @_;
47 my $source = $class->result_source_instance;
48 $source->add_relationship($rel => @rest);
49 $class->register_relationship($rel => $source->relationship_info($rel));
8c49f629 50}
51
52sub relationships {
53 shift->result_source_instance->relationships(@_);
54}
55
56sub relationship_info {
57 shift->result_source_instance->relationship_info(@_);
58}
59
b98e75f6 601;