Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

Load a list of overlays defined in a configuration file.

Fetching latest commit…

Octocat-spinner-32-eaf2f5

Cannot retrieve the latest commit at this time

Octocat-spinner-32 corpus
Octocat-spinner-32 lib
Octocat-spinner-32 t
Octocat-spinner-32 .gitignore
Octocat-spinner-32 .perltidyrc
Octocat-spinner-32 Changes
Octocat-spinner-32 README.mkdn
Octocat-spinner-32 dist.ini
Octocat-spinner-32 perlcritic.rc
Octocat-spinner-32 weaver.ini
README.mkdn

NAME

Gentoo::Overlay::Group::INI - Load a list of overlays defined in a configuration file.

VERSION

version 0.2.2

SYNOPSIS

Generates a Gentoo::Overlay::__Group__ object using a configuration file from your environment.

require Gentoo::Overlay::Group::INI;
my $group = Gentoo::Overlay::Group::INI->load();

Currently, the following paths are checked:

~/.config/Perl/Gentoo-Overlay-Group-INI/config.ini #  'my_dist_config' dir
~/.config/Perl/Gentoo-Overlay-Group-INI/Gentoo-Overlay-Group-INI.ini
~/.local/share/Perl/dist/Gentoo-Overlay-Group-INI/config.ini  # 'my_dist_data' dir
~/.local/share/Perl/dist/Gentoo-Overlay-Group-INI/Gentoo-Overlay-Group-INI.ini
/etc/Gentoo-Overlay-Group-INI/config.ini
/etc/Gentoo-Overlay-Group-INI/Gentoo-Overlay-Group-INI.ini

If you have set GENTOO_OVERLAY_GROUP_INI_PATH, it will be split by __:__ and each part scanned:

$ENV{GENTOO_OVERLAY_GROUP_INI_PATH} = "/a:/b"

/a/config.ini
/a/Gentoo-Overlay-Group-INI.ini
/b/config.ini
/b/Gentoo-Overlay-Group-INI.ini

If any of the path parts start with ~/ , those parts will be expanded to your "Home" directory.

Format of the INI files is as follows:

[Overlays]
directory = /usr/portage
directory = /usr/local/portage

CLASS METHODS

load

Returns a working Overlay::Group object.

my $group = Gentoo::Overlay::Group::INI->load();

load_named

Return an inflated arbitrary section:

# A "self-named" overlay section
my $section = Gentoo::Overlay::Group::INI->load_named('Overlay');
# A 'custom named overlay section, ie:
# [ Overlay / foo ]
my $section = Gentoo::Overlay::Group::INI->load_named('foo');

load_all_does

Return all sections in a config file that do the given role.

my ( @sections ) = Gentoo::Overlay::Group::INI->load_all_does('Some::Role');

load_all_isa

Return all sections in a config file that inherit the given class.

my ( @sections ) = Gentoo::Overlay::Group::INI->load_all_isa('Gentoo::Overlay::Group::Section::Overlay');

PACKAGE VARIABLES

$CFG_PATHS

An array ref of Path::Tiny objects to scan for config files.

PRIVATE FUNCTIONS

_cf_paths

Fetch $CFG_PATHS, and initialize $CFG_PATHS if it isn't initialized.

my $path_list = _cf_paths();

_init_cf_paths

Return the hard-coded array ref of paths to use, or parses $ENV{GENTOO_OVERLAY_GROUP_INI_PATH}.

my $path_list = _init_cf_paths();

_enumerate_file_list

Returns a list of file paths to check, in the order they should be checked.

my @list = _enumerate_file_list();

_first_config_file

Returns the path to the first file that exists.

my $first = _first_config_file();

PRIVATE METHODS

_parse

AUTHOR

Kent Fredric kentnl@cpan.org

COPYRIGHT AND LICENSE

This software is copyright (c) 2013 by Kent Fredric kentnl@cpan.org.

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

Something went wrong with that request. Please try again.