Commit | Line | Data |
f5baca29 |
1 | package App::Promulger::Command; |
2 | use strict; |
3 | use warnings; |
4 | |
21baaef0 |
5 | use App::Cmd::Setup -command; |
6 | |
7 | use Promulger::Config; |
8 | |
9 | sub opt_spec { |
10 | return ( |
11 | [ "config|c=s", "configuration file", { required => 1 } ], |
12 | ); |
13 | } |
14 | |
15 | sub validate_args { |
16 | my ($self, $opt, $args) = @_; |
17 | my $cf = $opt->{config}; |
18 | |
19 | unless(-e $cf) { |
20 | die "Config file $cf doesn't exist\n"; |
21 | } |
22 | unless(-f $cf) { |
23 | die "Config file $cf not a file\n"; |
24 | } |
25 | unless(-r $cf) { |
26 | die "Config file $cf not readable\n"; |
27 | } |
28 | |
29 | Promulger::Config->config({ Config::General->new($cf)->getall }); |
30 | Promulger::Config->config->{config}{config_file} = $cf; |
31 | } |
f5baca29 |
32 | |
33 | 1; |