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

#clear_new_messagesObject



48
49
50
# File 'lib/voicemail/call_controllers/mailbox_main_menu_controller.rb', line 48

def clear_new_messages
  invoke MailboxCleanerController, mailbox: mailbox[:id], new_or_saved: :new
end

#clear_saved_messagesObject



52
53
54
# File 'lib/voicemail/call_controllers/mailbox_main_menu_controller.rb', line 52

def clear_saved_messages
  invoke MailboxCleanerController, mailbox: mailbox[:id], new_or_saved: :saved
end

#listen_to_new_messagesObject



40
41
42
# File 'lib/voicemail/call_controllers/mailbox_main_menu_controller.rb', line 40

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

#listen_to_saved_messagesObject



44
45
46
# File 'lib/voicemail/call_controllers/mailbox_main_menu_controller.rb', line 44

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
29
30
# 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 }
    match(7) { clear_new_messages }
    match(9) { clear_saved_messages }

    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



32
33
34
# File 'lib/voicemail/call_controllers/mailbox_main_menu_controller.rb', line 32

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

#set_pinObject



36
37
38
# File 'lib/voicemail/call_controllers/mailbox_main_menu_controller.rb', line 36

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