Class: Voicemail::MailboxSetGreetingController

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

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods inherited from ApplicationController

#main_menu

Instance Attribute Details

#temp_recordingObject

Returns the value of attribute temp_recording.



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

def temp_recording
  @temp_recording
end

Instance Method Details

#delete_greetingObject



91
92
93
94
95
# File 'lib/voicemail/call_controllers/mailbox_set_greeting_controller.rb', line 91

def delete_greeting
  storage.delete_greeting_from_mailbox mailbox[:id]
  play config.set_greeting.greeting_deleted
  main_menu
end

#delete_greeting_menuObject



71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
# File 'lib/voicemail/call_controllers/mailbox_set_greeting_controller.rb', line 71

def delete_greeting_menu
  menu config.set_greeting.delete_confirmation,
     timeout: config.menu_timeout, tries: config.menu_tries do
    match(1) { delete_greeting }
    match(9) { section_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
      section_menu
    end
  end
end

#listen_to_current_greetingObject



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

def listen_to_current_greeting
  play mailbox[:greeting_message] || config.set_greeting.no_personal_greeting
  section_menu
end

#record_greetingObject



37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
# File 'lib/voicemail/call_controllers/mailbox_set_greeting_controller.rb', line 37

def record_greeting
  play config.set_greeting.before_record
  record_comp = record record_options
  @temp_recording = record_comp.complete_event.recording.uri
  play_audio @temp_recording

  menu config.set_greeting.after_record,
     timeout: config.menu_timeout, tries: config.menu_tries do
    match(1) { save_greeting }
    match 2 do
      @temp_recording = nil
      record_greeting
    end

    match 9 do
      @temp_recording = nil
      section_menu
    end

    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
      section_menu
    end
  end
end

#runObject



5
6
7
# File 'lib/voicemail/call_controllers/mailbox_set_greeting_controller.rb', line 5

def run
  section_menu
end

#save_greetingObject



97
98
99
100
# File 'lib/voicemail/call_controllers/mailbox_set_greeting_controller.rb', line 97

def save_greeting
  storage.save_greeting_for_mailbox mailbox[:id], temp_recording
  main_menu
end

#section_menuObject



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_set_greeting_controller.rb', line 9

def section_menu
  menu config.set_greeting.prompt,
     timeout: config.menu_timeout, tries: config.menu_tries do
    match(1) { listen_to_current_greeting }
    match(2) { record_greeting }
    match(3) { delete_greeting_menu }
    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
      main_menu
    end
  end
end