X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FDBIx%2FClass%2FResultSourceProxy.pm;h=ffef623ad495450020fd6ac32f14acc38d0782f1;hb=7e3dc46f39301189250953880d568cebdc914a77;hp=4d80cba05f6ffed1a91f28c2a20edf38358c971e;hpb=a48e92d70ba95a7559fc2d17c953e2f84ee827ed;p=dbsrgits%2FDBIx-Class-Historic.git diff --git a/lib/DBIx/Class/ResultSourceProxy.pm b/lib/DBIx/Class/ResultSourceProxy.pm index 4d80cba..ffef623 100644 --- a/lib/DBIx/Class/ResultSourceProxy.pm +++ b/lib/DBIx/Class/ResultSourceProxy.pm @@ -5,13 +5,29 @@ use strict; use warnings; use base qw/DBIx::Class/; +use Scalar::Util qw/blessed/; +use Carp::Clan qw/^DBIx::Class/; sub iterator_class { shift->result_source_instance->resultset_class(@_) } sub resultset_class { shift->result_source_instance->resultset_class(@_) } sub result_class { shift->result_source_instance->result_class(@_) } -sub source_name { shift->result_source_instance->source_name(@_) } sub source_info { shift->result_source_instance->source_info(@_) } +sub set_inherited_ro_instance { + my $self = shift; + + croak "Cannot set @{[shift]} on an instance" if blessed $self; + + return $self->set_inherited(@_); +} + +sub get_inherited_ro_instance { + return shift->get_inherited(@_); +} + +__PACKAGE__->mk_group_accessors('inherited_ro_instance' => 'source_name'); + + sub resultset_attributes { shift->result_source_instance->resultset_attributes(@_); } @@ -25,7 +41,9 @@ sub add_columns { } } -*add_column = \&add_columns; +sub add_column { + shift->add_columns(@_); +} sub has_column { shift->result_source_instance->has_column(@_); @@ -35,8 +53,8 @@ sub column_info { shift->result_source_instance->column_info(@_); } -sub load_column_info_from_storage { - shift->result_source_instance->load_column_info_from_storage; +sub column_info_from_storage { + shift->result_source_instance->column_info_from_storage(@_); } sub columns {