File Coverage

blib/lib/DBIx/Class/AccessorGroup.pm
Criterion Covered Total %
statement 28 28 100.0
branch 4 4 100.0
condition 3 3 100.0
subroutine 8 8 100.0
pod 2 2 100.0
total 45 45 100.0


line stmt bran cond sub pod time code
1             package DBIx::Class::AccessorGroup;
2              
3 380     380   3802 use strict;
  380         1197  
  380         12892  
4 380     380   2296 use warnings;
  380         1172  
  380         11858  
5              
6 380     380   2328 use base qw/Class::Accessor::Grouped/;
  380         1173  
  380         215045  
7 380     380   2835716 use Scalar::Util qw/weaken blessed/;
  380         1340  
  380         20504  
8 380     380   2592 use namespace::clean;
  380         1163  
  380         2406  
9              
10             my $successfully_loaded_components;
11              
12             sub get_component_class {
13 105958     105958 1 1003280 my $class = $_[0]->get_inherited($_[1]);
14              
15             # It's already an object, just go for it.
16 105958 100       1201860 return $class if blessed $class;
17              
18 105956 100 100     482779 if (defined $class and ! $successfully_loaded_components->{$class} ) {
19 25530         96519 $_[0]->ensure_class_loaded($class);
20              
21 380     380   106906 no strict 'refs';
  380         1227  
  380         49577  
22             $successfully_loaded_components->{$class}
23 25529         123483 = ${"${class}::__LOADED__BY__DBIC__CAG__COMPONENT_CLASS__"}
24 25529         515139 = do { \(my $anon = 'loaded') };
  25529         52807  
25 25529         76533 weaken($successfully_loaded_components->{$class});
26             }
27              
28 105955         477048 $class;
29             };
30              
31             sub set_component_class {
32 1972     1972 1 584349 shift->set_inherited(@_);
33             }
34              
35             1;
36              
37             =head1 NAME
38              
39             DBIx::Class::AccessorGroup - See Class::Accessor::Grouped
40              
41             =head1 SYNOPSIS
42              
43             =head1 DESCRIPTION
44              
45             This class now exists in its own right on CPAN as Class::Accessor::Grouped
46              
47             =head1 FURTHER QUESTIONS?
48              
49             Check the list of L<additional DBIC resources|DBIx::Class/GETTING HELP/SUPPORT>.
50              
51             =head1 COPYRIGHT AND LICENSE
52              
53             This module is free software L<copyright|DBIx::Class/COPYRIGHT AND LICENSE>
54             by the L<DBIx::Class (DBIC) authors|DBIx::Class/AUTHORS>. You can
55             redistribute it and/or modify it under the same terms as the
56             L<DBIx::Class library|DBIx::Class/COPYRIGHT AND LICENSE>.
57              
58             =cut