/[vz-tools]/trunk/inc/Module/Install/Base.pm
This is repository of my old source code which isn't updated any more. Go to git.rot13.org for current projects!
ViewVC logotype

Contents of /trunk/inc/Module/Install/Base.pm

Parent Directory Parent Directory | Revision Log Revision Log


Revision 52 - (show annotations)
Fri Aug 15 09:59:29 2008 UTC (15 years, 8 months ago) by dpavlin
File size: 1064 byte(s)
update Module::Install
1 #line 1
2 package Module::Install::Base;
3
4 $VERSION = '0.76';
5
6 # Suspend handler for "redefined" warnings
7 BEGIN {
8 my $w = $SIG{__WARN__};
9 $SIG{__WARN__} = sub { $w };
10 }
11
12 ### This is the ONLY module that shouldn't have strict on
13 # use strict;
14
15 #line 41
16
17 sub new {
18 my ($class, %args) = @_;
19
20 foreach my $method ( qw(call load) ) {
21 *{"$class\::$method"} = sub {
22 shift()->_top->$method(@_);
23 } unless defined &{"$class\::$method"};
24 }
25
26 bless( \%args, $class );
27 }
28
29 #line 61
30
31 sub AUTOLOAD {
32 my $self = shift;
33 local $@;
34 my $autoload = eval { $self->_top->autoload } or return;
35 goto &$autoload;
36 }
37
38 #line 76
39
40 sub _top { $_[0]->{_top} }
41
42 #line 89
43
44 sub admin {
45 $_[0]->_top->{admin} or Module::Install::Base::FakeAdmin->new;
46 }
47
48 #line 101
49
50 sub is_admin {
51 $_[0]->admin->VERSION;
52 }
53
54 sub DESTROY {}
55
56 package Module::Install::Base::FakeAdmin;
57
58 my $Fake;
59 sub new { $Fake ||= bless(\@_, $_[0]) }
60
61 sub AUTOLOAD {}
62
63 sub DESTROY {}
64
65 # Restore warning handler
66 BEGIN {
67 $SIG{__WARN__} = $SIG{__WARN__}->();
68 }
69
70 1;
71
72 #line 146

  ViewVC Help
Powered by ViewVC 1.1.26