NAME

Dist::Metadata::Struct - Enable Dist::Metadata for a data structure

VERSION

version 0.927

SYNOPSIS

my $dm = Dist::Metadata->new(struct => {
  files => {
    'lib/Mod.pm' => 'package Mod; sub something { ... }',
    'README'     => 'this is a fake dist, useful for testing',
  }
});

DESCRIPTION

This is a subclass of Dist::Metadata::Dist to enable mocking up a dist from perl data structures.

This is mostly used for testing but might be useful if you already have an in-memory representation of a dist that you'd like to examine.

It's probably not very useful on it's own though, and should be used from "new" in Dist::Metadata.

METHODS

new

$dist = Dist::Metadata::Struct->new(files => {
  'lib/Mod.pm' => 'package Mod; sub something { ... }',
});

Accepts a files parameter that should be a hash of { name => content, }. Content can be a string, a reference to a string, or an IO object.

default_file_spec

Unix is the default for consistency/simplicity but file_spec can be overridden in the constructor.

file_content

Returns the string content for the specified name.

find_files

Returns the keys of the files hash.

AUTHOR

Randy Stauner <rwstauner@cpan.org>

COPYRIGHT AND LICENSE

This software is copyright (c) 2011 by Randy Stauner.

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