Class: Voicemail::MailboxPlayMessageController

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

Instance Method Summary collapse

Methods inherited from ApplicationController

#main_menu

Instance Method Details

#archive_messageObject



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

def archive_message
  storage.archive_message mailbox[:id], current_message[:id]
end

#current_messageObject



60
61
62
# File 'lib/voicemail/mailbox_play_message_controller.rb', line 60

def current_message
  @message
end

#delete_messageObject



56
57
58
# File 'lib/voicemail/mailbox_play_message_controller.rb', line 56

def delete_message
  storage.delete_message mailbox[:id], current_message[:id]
end

#intro_messageObject



39
40
41
42
43
44
45
46
# File 'lib/voicemail/mailbox_play_message_controller.rb', line 39

def intro_message
  play config.messages.message_received_on
  play_time current_message[:received], format: config.datetime_format
  play config.messages.from
  from_digits = current_message[:from].scan(/\d/).join
  execute "SayDigits", from_digits unless from_digits.empty?
  # say_characters '1234'
end

#load_messageObject

Raises:

  • (ArgumentError)


64
65
66
67
# File 'lib/voicemail/mailbox_play_message_controller.rb', line 64

def load_message
  @message = [:message] || nil
  raise ArgumentError, "MailboxPlayMessageController needs a valid message passed to it" unless @message
end

#play_messageObject



10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
# File 'lib/voicemail/mailbox_play_message_controller.rb', line 10

def play_message
  menu current_message[:uri].gsub(/\.wav/, ''), config.messages.menu,
     timeout: config.menu_timeout, tries: config.menu_tries do
    match 1 do
      archive_message
    end

    match 5 do
      delete_message
    end

    match(7) { rewind_message }
    match(9) { main_menu }

    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

#rewind_messageObject



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

def rewind_message
  play_message
end

#runObject



4
5
6
7
8
# File 'lib/voicemail/mailbox_play_message_controller.rb', line 4

def run
  load_message
  intro_message
  play_message
end