Sha256: d340d5583809cabb942ace7e87c5cc6daf040f88132e47037eef7ce64a4cbc30
Contents?: true
Size: 976 Bytes
Versions: 4
Compression:
Stored size: 976 Bytes
Contents
module Voicemail class MailboxMessagesController < ApplicationController attr_accessor :new_or_saved def initialize(call, metadata={}) @new_or_saved = metadata[:new_or_saved] || :new super call, metadata end def run message_loop end def message_loop if messages_remaining > 0 next_message else bail_out end end def next_message handle_message current_message message_loop end def handle_message(message) invoke MailboxPlayMessageController, message: message, mailbox: mailbox[:id], new_or_saved: new_or_saved, storage: storage end private def messages_remaining storage.send "count_#{new_or_saved}_messages", mailbox[:id] end def current_message storage.send "next_#{new_or_saved}_message", mailbox[:id] end def bail_out play config.messages["no_#{new_or_saved}_messages"] main_menu end end end
Version data entries
4 entries across 4 versions & 1 rubygems