c6675390104df314446293baf958702582d32e8c
[p5sagit/Promulger.git] / lib / App / Promulger / Command.pm
1 package App::Promulger::Command;
2 use strict;
3 use warnings;
4
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 }
32
33 1;