PrimeHammer/sms_manager

View on GitHub
lib/sms_manager/error/sending_error.rb

Summary

Maintainability
A
0 mins
Test Coverage
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