Sha256: 6ae065d3f61ffebd67458874c6492390e41e5ecf0329d19ec68e7ff763a079c1

Contents?: true

Size: 913 Bytes

Versions: 2

Compression:

Stored size: 913 Bytes

Contents

module Voicemail
  class MailboxMainMenuController < ApplicationController
    def run
      main_menu
    end

    def main_menu
      menu config.mailbox.menu_greeting,
         timeout: config.menu_timeout, tries: config.menu_tries do
        match(1) { listen_to_messages }
        match(2) { set_greeting }
        match(3) { set_pin }

        timeout do
          play config.mailbox.menu_timeout_message
        end

        invalid do
          play config.mailbox.menu_invalid_message
        end

        failure do
          play config.mailbox.menu_failure_message
          hangup
        end
      end
    end

    def set_greeting
      invoke MailboxSetGreetingController, mailbox: mailbox[:id]
    end

    def set_pin
      invoke MailboxSetPinController, mailbox: mailbox[:id]
    end

    def listen_to_messages
      invoke MailboxMessagesController, mailbox: mailbox[:id]
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
voicemail-0.2.0 lib/voicemail/mailbox_main_menu_controller.rb
voicemail-0.1.0 lib/voicemail/mailbox_main_menu_controller.rb