Class: Voicemail::MailboxCleanerController

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

Instance Method Summary collapse

Methods inherited from ApplicationController

#main_menu

Instance Method Details

#confirm_no_action_takenObject



16
17
18
19
# File 'lib/voicemail/call_controllers/mailbox_cleaner_controller.rb', line 16

def confirm_no_action_taken
  play config.mailbox.no_messages_deleted
  main_menu
end

#erase_all(type) ⇒ Object



21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
# File 'lib/voicemail/call_controllers/mailbox_cleaner_controller.rb', line 21

def erase_all(type)
  method = "next_#{type}_message"

  messages_count = storage.send "count_#{type}_messages", mailbox[:id]   

  deleting_all_messages = [:new_or_saved].to_s == "new" ? config.mailbox.deleting_all_new_messages : config.mailbox.deleting_all_saved_messages
  play deleting_all_messages

  messages_count.times do
    message = storage.send(method, mailbox[:id])
    storage.delete_message mailbox[:id], message[:id]
  end
    
  all_messages_deleted = [:new_or_saved].to_s == "new" ? config.mailbox.all_new_messages_deleted : config.mailbox.all_saved_messages_deleted
  play all_messages_deleted

  main_menu
end

#runObject



5
6
7
8
9
10
11
12
13
14
# File 'lib/voicemail/call_controllers/mailbox_cleaner_controller.rb', line 5

def run
  menu_prompt = [:new_or_saved].to_s == "new" ? config.mailbox.clear_new_messages : config.mailbox.clear_saved_messages
  menu menu_prompt, timeout: config.menu_timeout, tries: config.menu_tries do
    match(1) { erase_all [:new_or_saved] }
   
    invalid { confirm_no_action_taken }
    timeout { confirm_no_action_taken }
    failure { confirm_no_action_taken }
  end
end