use DBIx::Class::Schema::Loader::Optional::Dependencies ();
use Try::Tiny;
use DBIx::Class ();
-use Class::Load 'load_class';
use namespace::clean;
-our $VERSION = '0.07009';
+our $VERSION = '0.07010';
__PACKAGE__->mk_group_ro_accessors('simple', qw/
schema
}
$self->result_component_map(\%rc_map);
}
+ else {
+ $self->result_component_map({});
+ }
$self->_validate_result_component_map;
if ($self->use_moose) {
->{ $self->naming->{relationships}};
my $relbuilder_class = 'DBIx::Class::Schema::Loader::RelBuilder'.$relbuilder_suff;
- load_class $relbuilder_class;
+ $self->ensure_class_loaded($relbuilder_class);
$relbuilder_class->new( $self );
};
$self->_inject($table_class, @{$self->left_base_classes});
my @components = @{ $self->components || [] };
- foreach my $moniker (keys %{ $self->result_component_map || {} }) {
- next unless $moniker eq $table_moniker;
- push @components, @{ $self->result_component_map->{$moniker} };
- }
+
+ push @components, @{ $self->result_component_map->{$table_moniker} }
+ if exists $self->result_component_map->{$table_moniker};
+
$self->_dbic_stmt($table_class, 'load_components', @components) if @components;
$self->_inject($table_class, @{$self->additional_base_classes});
if (not $self->_result_class_methods) {
my (@methods, %methods);
my $base = $self->result_base_class || 'DBIx::Class::Core';
- my @components = map { /^\+/ ? substr($_,1) : "DBIx::Class::$_" } @{ $self->components || [] };
- foreach my $moniker (keys %{ $self->result_component_map || {} }) {
- next unless $moniker eq $table_moniker;
- push @components, @{ $self->result_component_map->{$moniker} };
+
+ my @components = @{ $self->components || [] };
+
+ push @components, @{ $self->result_component_map->{$table_moniker} }
+ if exists $self->result_component_map->{$table_moniker};
+
+ for my $c (@components) {
+ $c = $c =~ /^\+/ ? substr($c,1) : "DBIx::Class::$c";
}
for my $class ($base, @components, $self->use_moose ? 'Moose::Object' : ()) {
- load_class $class;
+ $self->ensure_class_loaded($class);
push @methods, @{ Class::Inspector->methods($class) || [] };
}
@methods{@methods} = ();
- # futureproof meta
- $methods{meta} = undef;
-
$self->_result_class_methods(\%methods);
}
my $result_methods = $self->_result_class_methods;