Class: Voicemail::MailboxMainMenuController

Inherits:
ApplicationController show all
Defined in:
lib/voicemail/call_controllers/mailbox_main_menu_controller.rb

Instance Method Summary collapse

Instance Method Details

#listen_to_new_messagesObject



38
39
40
# File 'lib/voicemail/call_controllers/mailbox_main_menu_controller.rb', line 38

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

#listen_to_saved_messagesObject



42
43
44
# File 'lib/voicemail/call_controllers/mailbox_main_menu_controller.rb', line 42

def listen_to_saved_messages
  invoke MailboxMessagesController, mailbox: mailbox[:id], new_or_saved: :saved
end


7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
# File 'lib/voicemail/call_controllers/mailbox_main_menu_controller.rb', line 7

def main_menu
  menu config.mailbox.menu_greeting,
     timeout: config.menu_timeout, tries: config.menu_tries do
    match(1) { listen_to_new_messages }
    match(2) { listen_to_saved_messages }
    match(3) { set_greeting }
    match(4) { 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

#runObject



3
4
5
# File 'lib/voicemail/call_controllers/mailbox_main_menu_controller.rb', line 3

def run
  main_menu
end

#set_greetingObject



30
31
32
# File 'lib/voicemail/call_controllers/mailbox_main_menu_controller.rb', line 30

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

#set_pinObject



34
35
36
# File 'lib/voicemail/call_controllers/mailbox_main_menu_controller.rb', line 34

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