| Path-Resolver documentation | Contained in the Path-Resolver distribution. |
Path::Resolver::Resolver::AnyDist - find content in any installed CPAN distribution's "ShareDir"
version 3.100451
my $resolver = Path::Resolver::Resolver::AnyDist->new;
my $simple_entity = $resolver->entity_at('/MyApp-Config/foo/bar.txt');
This resolver looks for files on disk in the shared resource directory of the distribution named by the first part of the path. For more information on sharedirs, see File::ShareDir.
This resolver does the Path::Resolver::Role::FileResolver role, meaning its native type is Path::Resolver::Types::AbsFilePath and it has a default converter to convert to Path::Resolver::SimpleEntity.
Ricardo Signes <rjbs@cpan.org>
This software is copyright (c) 2010 by Ricardo Signes.
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.
| Path-Resolver documentation | Contained in the Path-Resolver distribution. |
package Path::Resolver::Resolver::AnyDist; BEGIN { $Path::Resolver::Resolver::AnyDist::VERSION = '3.100451'; } # ABSTRACT: find content in any installed CPAN distribution's "ShareDir" use Moose; with 'Path::Resolver::Role::FileResolver'; use namespace::autoclean; use File::ShareDir (); use File::Spec; use Path::Class::File; sub entity_at { my ($self, $path) = @_; my $dist_name = shift @$path; my $dir = File::ShareDir::dist_dir($dist_name); Carp::confess("invalid path: empty after dist specifier") unless @$path; my $abs_path = File::Spec->catfile( $dir, File::Spec->catfile(@$path), ); return Path::Class::File->new($abs_path); } 1; __END__