File Coverage

lib/Class/Dot/Meta/Accessor/Base.pm
Criterion Covered Total %
statement 18 25 72.0
branch 0 2 0.0
condition n/a
subroutine 6 11 54.5
pod 0 5 0.0
total 24 43 55.8


line stmt bran cond sub pod time code
1             # $Id$
2             # $Source$
3             # $Author$
4             # $HeadURL$
5             # $Revision$
6             # $Date$
7             package Class::Dot::Meta::Accessor::Base;
8              
9 16     16   109 use strict;
  16         33  
  16         629  
10 16     16   93 use warnings;
  16         64  
  16         468  
11 16     16   98 use version;
  16         29  
  16         125  
12 16     16   1447 use 5.00600;
  16         60  
  16         1880  
13              
14             our $VERSION = qv('2.0.0_15');
15             our $AUTHORITY = 'cpan:ASKSH';
16              
17             my $THIS_PKG = __PACKAGE__;
18              
19 16     16   99 use Carp qw(croak confess);
  16         38  
  16         5342  
20              
21             sub new {
22 93     93 0 159 my ($class, $options_ref) = @_;
23              
24 93         104 return bless { %{$options_ref} }, $class;
  93         614  
25             }
26              
27             sub register_plugin {
28 0     0 0   confess 'All accessor type plugins must have the register_plugin method!';
29             }
30              
31             sub create_get_accessor {
32 0     0 0   return _does_not_define_prototyped_method('create_get_accessor');
33             }
34              
35             sub create_set_accessor {
36 0     0 0   return _does_not_define_prototyped_method('create_set_accessor');
37             }
38              
39             sub create_mutator {
40 0     0 0   return _does_not_define_prototyped_method('create_mutator');
41             }
42              
43             sub _does_not_define_prototyped_method {
44 0     0     my ($self, $method_name) = @_;
45 0 0         my $class = ref $self ? ref $self
46             : $self;
47 0           confess <<"EOFTEXT"
48             $class does not define the $method_name() method, or you are using
49             base class $THIS_PKG directly.
50             EOFTEXT
51             ;
52             }
53             1;
54              
55             __END__