Commit | Line | Data |
80c90f5d |
1 | package DBIx::Class::ResultSourceProxy; |
b98e75f6 |
2 | |
3 | use strict; |
4 | use warnings; |
5 | |
6 | use base qw/DBIx::Class/; |
7 | |
5ac6a044 |
8 | sub iterator_class { shift->result_source_instance->resultset_class(@_) } |
b98e75f6 |
9 | sub resultset_class { shift->result_source_instance->resultset_class(@_) } |
10 | |
5ac6a044 |
11 | sub resultset_attributes { |
12 | shift->result_source_instance->resultset_attributes(@_); |
13 | } |
14 | |
b98e75f6 |
15 | sub 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 |
24 | sub has_column { |
25 | my ($self, $column) = @_; |
26 | return $self->result_source_instance->has_column($column); |
27 | } |
28 | |
29 | sub column_info { |
30 | my ($self, $column) = @_; |
31 | return $self->result_source_instance->column_info($column); |
32 | } |
33 | |
34 | |
35 | sub columns { |
36 | return shift->result_source_instance->columns(@_); |
37 | } |
38 | |
39 | sub set_primary_key { shift->result_source_instance->set_primary_key(@_); } |
40 | sub primary_columns { shift->result_source_instance->primary_columns(@_); } |
41 | |
87f0da6a |
42 | sub add_unique_constraint { shift->result_source_instance->add_unique_constraint(@_); } |
43 | sub unique_constraints { shift->result_source_instance->unique_constraints(@_); } |
44 | |
8c49f629 |
45 | sub 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 | |
52 | sub relationships { |
53 | shift->result_source_instance->relationships(@_); |
54 | } |
55 | |
56 | sub relationship_info { |
57 | shift->result_source_instance->relationship_info(@_); |
58 | } |
59 | |
b98e75f6 |
60 | 1; |