📄 fake.pm
字号:
package CPANPLUS::Module::Fake;use CPANPLUS::Error;use CPANPLUS::Module;use CPANPLUS::Module::Author::Fake;use CPANPLUS::Internals;use strict;use vars qw[@ISA];use Params::Check qw[check];@ISA = qw[CPANPLUS::Module];$Params::Check::VERBOSE = 1;=pod=head1 NAMECPANPLUS::Module::Fake=head1 SYNOPSIS my $obj = CPANPLUS::Module::Fake->new( module => 'Foo', path => 'ftp/path/to/foo', author => CPANPLUS::Module::Author::Fake->new, package => 'fake-1.1.tgz', _id => $cpan->_id, );=head1 DESCRIPTIONA class for creating fake module objects, for shortcut use internallyby CPANPLUS.Inherits from C<CPANPLUS::Module>.=head1 METHODS=head2 new( module => $mod, path => $path, package => $pkg, [_id => DIGIT] )Creates a dummy module object from the above parameters. It cantake more options (same as C<< CPANPLUS::Module->new >> but the aboveare required.=cutsub new { my $class = shift; my %hash = @_; local $Params::Check::ALLOW_UNKNOWN = 1; my $tmpl = { module => { required => 1 }, path => { required => 1 }, package => { required => 1 }, _id => { default => CPANPLUS::Internals->_last_id }, author => { default => '' }, }; my $args = check( $tmpl, \%hash ) or return; $args->{author} ||= CPANPLUS::Module::Author::Fake->new( _id => $args->{_id} ); my $obj = CPANPLUS::Module->new( %$args ) or return; unless( $obj->_id ) { error(loc("No '%1' specified -- No CPANPLUS object associated!",'_id')); return; } ### rebless object ### return bless $obj, $class; } 1;# Local variables:# c-indentation-style: bsd# c-basic-offset: 4# indent-tabs-mode: nil# End:# vim: expandtab shiftwidth=4:
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -