Class: Voicemail::MailboxMessagesController

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

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods inherited from ApplicationController

#main_menu

Constructor Details

#initialize(call, metadata = {}) ⇒ MailboxMessagesController

Returns a new instance of MailboxMessagesController.



6
7
8
9
10
# File 'lib/voicemail/call_controllers/mailbox_messages_controller.rb', line 6

def initialize(call, ={})
  @new_or_saved = [:new_or_saved] || :new

  super call, 
end

Instance Attribute Details

#new_or_savedObject

Returns the value of attribute new_or_saved.



4
5
6
# File 'lib/voicemail/call_controllers/mailbox_messages_controller.rb', line 4

def new_or_saved
  @new_or_saved
end

Instance Method Details

#handle_message(message) ⇒ Object



29
30
31
# File 'lib/voicemail/call_controllers/mailbox_messages_controller.rb', line 29

def handle_message(message)
  invoke MailboxPlayMessageController, message: message, mailbox: mailbox[:id], new_or_saved: new_or_saved, storage: storage
end

#message_loopObject



16
17
18
19
20
21
22
# File 'lib/voicemail/call_controllers/mailbox_messages_controller.rb', line 16

def message_loop
  if messages_remaining > 0
    next_message
  else
    bail_out
  end
end

#next_messageObject



24
25
26
27
# File 'lib/voicemail/call_controllers/mailbox_messages_controller.rb', line 24

def next_message
  handle_message current_message
  message_loop
end

#runObject



12
13
14
# File 'lib/voicemail/call_controllers/mailbox_messages_controller.rb', line 12

def run
  message_loop
end