X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FDBIx%2FClass%2FResultSourceProxy.pm;h=696c9a53eb6819f757f04be85a67f579bfa286c6;hb=aaf2403d17fd75fea98d22c2ef28c42d3285ef03;hp=4c52fa059a91c753af1ec75c896f4a09f1f3031f;hpb=fdcd81457bcc74ed95a6c3e1c75101a3f90b214e;p=dbsrgits%2FDBIx-Class.git diff --git a/lib/DBIx/Class/ResultSourceProxy.pm b/lib/DBIx/Class/ResultSourceProxy.pm index 4c52fa0..696c9a5 100644 --- a/lib/DBIx/Class/ResultSourceProxy.pm +++ b/lib/DBIx/Class/ResultSourceProxy.pm @@ -5,11 +5,28 @@ 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(@_); @@ -27,25 +44,23 @@ sub add_columns { *add_column = \&add_columns; sub has_column { - my ($self, $column) = @_; - return $self->result_source_instance->has_column($column); + shift->result_source_instance->has_column(@_); } sub column_info { - my ($self, $column) = @_; - return $self->result_source_instance->column_info($column); + 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 { - return shift->result_source_instance->columns(@_); + shift->result_source_instance->columns(@_); } sub remove_columns { - return shift->result_source_instance->remove_columns(@_); + shift->result_source_instance->remove_columns(@_); } *remove_column = \&remove_columns;