Load XML-Feed-0.01 into trunk.
[catagits/XML-Feed.git] / inc / Module / Install / Base.pm
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
5 package Module::Install::Base;
6
7 #line 31
8
9 sub 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
23 sub AUTOLOAD {
24     my $self = shift;
25     goto &{$self->_top->autoload};
26 }
27
28 #line 60
29
30 sub _top { $_[0]->{_top} }
31
32 #line 71
33
34 sub admin {
35     my $self = shift;
36     $self->_top->{admin} or Module::Install::Base::FakeAdmin->new;
37 }
38
39 sub is_admin {
40     my $self = shift;
41     $self->admin->VERSION;
42 }
43
44 sub DESTROY {}
45
46 package Module::Install::Base::FakeAdmin;
47
48 my $Fake;
49 sub new { $Fake ||= bless(\@_, $_[0]) }
50 sub AUTOLOAD {}
51 sub DESTROY {}
52
53 1;
54
55 __END__
56
57 #line 115