Class: Voicemail::VoicemailController

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

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods inherited from ApplicationController

#main_menu

Instance Attribute Details

#recordingObject

Returns the value of attribute recording.



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

def recording
  @recording
end

Instance Method Details

#play_greetingObject



19
20
21
# File 'lib/voicemail/call_controllers/voicemail_controller.rb', line 19

def play_greeting
  play mailbox[:greeting_message] || config.default_greeting
end

#play_recording_confirmationObject



23
24
25
# File 'lib/voicemail/call_controllers/voicemail_controller.rb', line 23

def play_recording_confirmation
  play config.recording_confirmation
end

#record_messageObject



27
28
29
30
31
# File 'lib/voicemail/call_controllers/voicemail_controller.rb', line 27

def record_message
  @recording = record record_options

  config.allow_rerecording ? recording_menu : save_recording
end

#recording_menuObject



33
34
35
36
37
38
39
40
41
42
43
# File 'lib/voicemail/call_controllers/voicemail_controller.rb', line 33

def recording_menu
  ensure_message_saved_if_hangup
  menu recording_url, config.after_record, tries: 3, timeout: 10 do
    match('1') { save_recording }
    match('2') { record_message }

    invalid {  }
    timeout { save_recording }
    failure { save_recording }
  end
end

#runObject



6
7
8
9
10
11
12
13
14
15
16
17
# File 'lib/voicemail/call_controllers/voicemail_controller.rb', line 6

def run
  answer if config.when_to_answer == :before_greeting
  if mailbox
    play_greeting
    answer if config.when_to_answer == :after_greeting
    record_message
    play_recording_confirmation
    hangup
  else
    mailbox_not_found
  end
end