NAME

CPAN::Local::Distribution::Role::FromURI - Allow distributions to be fetched from remote uris

VERSION

version 0.010

DESCRIPTION

This role allows a distribution object to be created from a remote URI rather than from a local file. The URI will be fetched and saved locally, and "filename" in CPAN::Local::Distribution will be set to the local file's name.

  package CPAN::Local::Distribution::Custom
  {
    use Moose;
    extends 'CPAN::Local::Distribution';
    with 'CPAN::Local::Distribution::Role::FromURI';
  }

  package main
  {
    my $distro = CPAN::Local::Distribution::Custom->new(
        uri   => 'http:://www.somepan.org/authors/id/F/FO/FOOBAR/Foo-Bar-0.001.tar.gz',
        cache => '/path/to/cache'
    );

    say $distro->filename; # /path/to/cache/authors/id/F/FO/FOOBAR/Foo-Bar-0.001.tar.gz
    say $distro->authorid; # FOOBAR
  }

ATTRIBUTES

uri

The remote distribution URI. The last part of the path must be a valid distribution name.

cache

Directory where the distribution will be downloaded to. A temporarary directory will be used if none is specified. If the distribution already exists in the cache, it will not be downloaded again.

AUTHOR

Peter Shangov <pshangov@yahoo.com>

COPYRIGHT AND LICENSE

This software is copyright (c) 2012 by Venda, Inc..

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.