Commit | Line | Data |
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 | |
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 |