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