lib/sms_manager/error/sending_error.rb
require 'sms_manager/error/error'
module SmsManager
class SendingError < Error
def initialize(body)
code = body.split('|').last.to_i
super code_to_message(code)
end
private
def code_to_message(code)
if code >= 900 && code <= 999
CODE_9XX
elsif CODES[code]
CODES[code]
else
'Neznámý chybový kód'
end
end
CODES = {
101 => 'Neexistující data požadavku (chybí XMLDATA parametr u XML API)',
102 => 'Metoda neexistuje',
103 => 'Neplatné uživatelské jméno nebo heslo',
104 => 'Neplatný parametr gateway',
105 => 'Nedostatek kreditu pro prepaid',
201 => 'Žádná platná telefonní čísla v požadavku',
202 => 'Text zprávy neexistuje nebo je příliš dlouhý',
203 => 'Neplatný parametr sender (odesílatele nejprve nastavte ve webovém rozhraní)'
}
CODE_9XX = 'Systémová chyba (informujte se na support@smsmanager.cz)'
end
end