NAME
    CPAN::Local - Hack custom CPAN repos

VERSION
    version 0.002

DESCRIPTION
    CPAN::Local is a framework for creating custom CPAN implementations. The
    individual tasks related to mirror management are handled by separate
    plugins, and those plugins can be combined to achieve the desired
    behavior, or new ones can be written where further customizations is
    needed.

    This document describes the "CPAN::Local" class, which represents a
    local repository with plugins configured to perform actions on it.

ATTRIBUTES
  config_filename
    Base name of the configuration file. Default is "cpanlocal".

  config
    A Config::MVP::Sequence representing the mirror configuration. Normally
    generated by reading the configuration file (see "config_filename").

  root_namespace
    The root namespaces for plugins and roles that will be loaded. Default
    is "CPAN::Local".

  distribution_base_class
    The base class for distribution objects. Default is
    "CPAN::Local::Distribution".

  root
    The root directory of the repository. Assumes the current working
    directory by default.

  logger
    Logging facility. An instance of Log::Dispatchouli by default.

  plugins
    All plugins requested by the "config", required and instantiated.

METHODS
  "plugins_with($role_name)"
    Returns all plugins that implement a given role. Only the last portion
    of the role name should be passed as an argument - i.e. if $role_name is
    "Index", then all plugins implementing "CPAN::Local::Role::Indexa" will
    be returned.

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.

