configuration, state generation, centralised gatherer
[scpubgit/System-Introspector.git] / lib / System / Introspector / Config.pm
CommitLineData
60e1cc39 1package System::Introspector::Config;
2use Moo;
3use Config::General;
4
5has config => (is => 'lazy');
6
7has config_file => (is => 'ro', required => 1);
8
9sub _build_config {
10 my ($self) = @_;
11 my $reader = Config::General->new($self->config_file);
12 my %config = $reader->getall;
13 return \%config;
14}
15
16sub groups { keys %{ $_[0]->config->{group} || {} } }
17
18sub has_group { exists $_[0]->config->{group}{ $_[1] } }
19
20sub config_for_group { $_[0]->config->{group}{ $_[1] } }
21
221;