#!/usr/bin/perl
use strict;
use warnings;

my @modules = qw(
    Awesant::Output::Redis
    Awesant::Output::Screen
    Awesant::Output::Socket
    Awesant::Output::Rabbitmq
    Awesant::Input::File
    Awesant::Input::Socket
);

foreach my $mod (@modules) {
    my $file = "perl/lib/$mod.pm";
    $file =~ s!::!/!g;
    open my $in, "<", $file or die $!;
    my $description;
    my $content = do { local $/; <$in> };
    close $in;
    ($description, $content) = $content =~ /.+=head1\sDESCRIPTION\n+(.+)=head1\sOPTIONS\s*\n(.+)=head1\sMETHODS.+/s;
    $content =~ s/=head1/##/g;
    $content =~ s/=head2/###/g;
    my $readme = "${mod}Options.md";
    $readme =~ s/:://g;
    $readme =~ s/^Awesant//;
    open my $out, ">", $readme or die $!;
    print $out "# $mod\n\n";
    print $out "## Description\n\n";
    print $out $description;
    print $out "## Options\n\n";
    print $out $content;
    close $out;
}
