Just about ready to go live
[p5sagit/Promulger.git] / lib / App / Promulger / Command.pm
index a46961a..c667539 100644 (file)
@@ -2,5 +2,32 @@ package App::Promulger::Command;
 use strict;
 use warnings;
 
+use App::Cmd::Setup -command;
+
+use Promulger::Config;
+
+sub opt_spec {
+  return (
+    [ "config|c=s", "configuration file", { required => 1 } ],
+  );
+}
+
+sub validate_args {
+  my ($self, $opt, $args) = @_;
+  my $cf = $opt->{config};
+
+  unless(-e $cf) {
+    die "Config file $cf doesn't exist\n";
+  }
+  unless(-f $cf) {
+    die "Config file $cf not a file\n";
+  }
+  unless(-r $cf) {
+    die "Config file $cf not readable\n";
+  }
+
+  Promulger::Config->config({ Config::General->new($cf)->getall });
+  Promulger::Config->config->{config}{config_file} = $cf;
+}
 
 1;