Acme-RemoteINC

 view release on metacpan or  search on metacpan

lib/Acme/RemoteINC.pm  view on Meta::CPAN

our $VERSION = 0.15;

sub new { 
    my($class, %args) = @_;
    my $self = {};
    bless $self, $class;
    foreach my $k ( qw(ftp host user password perl_root) ) 
      { $self->{$k} = $args{$k} if $args{$k} }
    unless( $self->{ftp} ) {
        my $ftp = new Net::FTP($self->{host}) or return;
        $ftp->login( $self->{user} => $self->{password} ) or return;
        $self->{ftp} = $ftp;
    }
    # register ourself in @INC.
    push @INC, $self;
    return $self;
}

sub Acme::RemoteINC::INC {
    my($self, $filename) = @_;
    my($tmpFH, $tmpname) = File::Temp::tmpnam();

lib/Acme/RemoteINC.pm  view on Meta::CPAN

    my $rinc = Acme::RemoteINC->new(ftp => $ftp);
    
 
The new method creates a new Acme::RemoteINC object. Three paired hash 
entry named arguments are required for new:

host => $hostname

The name of the ftp server.
      
user => $loginname

Login user name.
        
password => $pwd

Login password.
    
  Two paired hash entry named arguments are optional arguments for new:

perl_root => $wdir

Perl module directory name relative to the FTP service root.
Defaults to the default ftp service's base working directory.
Alternative: may be a reference to an array of such module directories.
        
ftp => $ftp
     
When given as an argument, this overrides use of the otherwise required 
arguments. ftp is then expected to be a Net::FTP object which has already 
been logged in.

   NOTE: It is advisable that the call to new be done in a BEGIN block. 
   It is also advisable to load Acme::RemoteINC via require in the BEGIN block.

=head2 B<INC>

    This internal method is used by the use and require directives after 
    the reference to the Acme::RemoteINC object has been placed in @INC.
    For details, see the perlfunc docs for require.



( run in 0.938 second using v1.01-cache-2.11-cpan-b61123c0432 )