Load XML-Feed-0.01 into trunk.
[catagits/XML-Feed.git] / inc / Module / Install / Base.pm
CommitLineData
ba87bd32 1#line 1 "inc/Module/Install/Base.pm - /Library/Perl/5.8.1/Module/Install/Base.pm"
2# $File: //depot/cpan/Module-Install/lib/Module/Install/Base.pm $ $Author: autrijus $
3# $Revision: #10 $ $Change: 1847 $ $DateTime: 2003/12/31 23:14:54 $ vim: expandtab shiftwidth=4
4
5package Module::Install::Base;
6
7#line 31
8
9sub new {
10 my ($class, %args) = @_;
11
12 foreach my $method (qw(call load)) {
13 *{"$class\::$method"} = sub {
14 +shift->_top->$method(@_);
15 } unless defined &{"$class\::$method"};
16 }
17
18 bless(\%args, $class);
19}
20
21#line 49
22
23sub AUTOLOAD {
24 my $self = shift;
25 goto &{$self->_top->autoload};
26}
27
28#line 60
29
30sub _top { $_[0]->{_top} }
31
32#line 71
33
34sub admin {
35 my $self = shift;
36 $self->_top->{admin} or Module::Install::Base::FakeAdmin->new;
37}
38
39sub is_admin {
40 my $self = shift;
41 $self->admin->VERSION;
42}
43
44sub DESTROY {}
45
46package Module::Install::Base::FakeAdmin;
47
48my $Fake;
49sub new { $Fake ||= bless(\@_, $_[0]) }
50sub AUTOLOAD {}
51sub DESTROY {}
52
531;
54
55__END__
56
57#line 115