#!/usr/bin/env perl

use Mojolicious::Lite;
use WWW::Twilio::TwiML;

my %list = ( 1 => { name => 'Ryan',
                    number => '+19165557720' },
             2 => { name => 'Liz',
                    number => '+19165551211' },
             3 => { name => 'Jason',
                    number => '+19285550122' },
             4 => { name => 'Erin',
                    number => '+19285551729' },
             5 => { name => 'Rachel',
                    number => '+18015553992' },
             6 => { name => 'Gilligan',
                    recording => 'http://www.televisiontunes.com/themesongs/Gilligans%20Island.mp3' },
             7 => { name => 'Potsie',
                    recording => 'http://www.televisiontunes.com/themesongs/Happy%20Days%20-%20Season%202.mp3' },
           );

get '/menu' => sub {
    my $self = shift;

    my $msg = join '. ',
      map { "Press $_ for $list{$_}->{name}" }
        sort keys %list;

    my $tw = new WWW::Twilio::TwiML;
        my $resp = $tw->Response;
        $resp->Gather({action => $self->url_for('/menu_handler'),
                       method => 'GET',
                       numDigits => 1})
          ->Say({voice => 'woman'}, $msg);

        $resp->Say("You need to make a choice or hang up.");
        $resp->Redirect("/menu_handler");

        $self->render(format => 'xml',
                      text   => $tw->to_string);
    };

app->start;
