NAME
    Dist::Zilla::Plugin::MetaProvides::FromFile - Pull in hand-crafted
    metadata from a specified file.

VERSION
    version 2.001000

SYNOPSIS
    For a general overview of the "MetaProvides" family, see
    Dist::Zilla::Plugin::MetaProvides

    This module is tailored to the situation where probing various files for
    "provides" data is not possible, and you just want to declare some in an
    external file.

        [MetaProvides::FromFile]
        inherit_version = 0         ; optional, default = 1
        inherit_missing = 0         ; optional, default = 1
        file = some_file.ini        ; required
        reader_name = Config::INI::Reader ; optional, default = Config::INI::Reader
        meta_no_index               ; optional, useless

    And in "some_file.ini"

        [Foo::Package]
        file    = some/module/path
        version = 0.1

OPTION SUMMARY
  inherit_version
    Shared Logic with all MetaProvides Plugins. See "inherit_version" in
    Dist::Zilla::Plugin::MetaProvides

  inherit_missing
    Shared Logic with all MetaProvides Plugins. See "inherit_missing" in
    Dist::Zilla::Plugin::MetaProvides

  meta_no_index
    Shared Logic with all MetaProvides Plugins. See "meta_no_index" in
    Dist::Zilla::Plugin::MetaProvides

    However, given you're hard-coding the 'provides' map in the source file,
    and given that parameter is intended to exclude *discovered* modules
    from being indexed, it seems like the smart option would be to simply
    delete the unwanted entries from the source file.

  file
    Mandatory path to a file within your distribution, relative to the
    distribution root, to extract "provides" data from.

  reader_name
    A class that can be used to read the named file. Defaults to
    Config::INI::Reader.

    It can be substituted by any class name that matches the following
    criteria

    *   Can be instantiated via "new"

            my $instance = $reader_name->new();

    *   has a "read_file" method on the instance

            my $result = $instance->read_file( ... )

    *   "read_file" can take the parameter "file"

            my $result = $instance->read_file( file => 'path/to/file' )

    *   "read_file" returns a hashref matching the following structure

            { 'Package::Name' => {
                file = 'path/to/file',
                version => '0.1',
            } }

ROLES
  "::Role::MetaProvider::Provider"
PLUGIN FIELDS
  file
   type: required, ro, Str
  reader_name
   type: ClassName, ro.
   default: Config::INI::Reader
PRIVATE PLUGIN FIELDS
  _reader
   type: Object, ro, built from "reader_name"
ROLE SATISFYING METHODS
  provides
    A conformant function to the "::Role::MetaProvider::Provider" Role.

   signature: $plugin->provides()
   returns: Array of "MetaProvides::ProvideRecord"
BUILDER METHODS
  _build__reader
SEE ALSO
    *   "[MetaProvides]"

AUTHOR
    Kent Fredric <kentnl@cpan.org>

COPYRIGHT AND LICENSE
    This software is copyright (c) 2014 by Kent Fredric.

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

