Sha256: b2fceab2d59c9d0e5ad8ddbd88f4458946fdff5d0730d133b041f334ccc3a331

Contents?: true

Size: 1.31 KB

Versions: 3

Compression:

Stored size: 1.31 KB

Contents

module IqSMS
  class MessageStatus
    attr_reader :status, :client_id, :smsc_id

    def initialize(status:, client_id: nil, smsc_id: nil)
      @status = status
      @client_id = client_id
      @smsc_id = smsc_id
    end

    def queued?
      @status == 'queued'
    end

    def delivered?
      @status == 'delivered'
    end

    def status_text
      case @status
      when 'accepted'.freeze
        'Сообщение принято на обработку'.freeze
      when 'queued'.freeze
        'Сообщение находится в очереди'.freeze
      when 'delivered'.freeze
        'Сообщение доставлено'.freeze
      when 'delivery error'.freeze
        'Ошибка доставки SMS (абонент в течение времени доставки находился вне зоны действия сети или номер абонента заблокирован)'.freeze
      when 'smsc submit'.freeze
        'Сообщение доставлено в SMSC'.freeze
      when 'smsc reject'.freeze
        'Сообщение отвергнуто SMSC (номер заблокирован или не существует)'.freeze
      when 'incorrect id'.freeze
        'Неверный идентификатор сообщения'.freeze
      end
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
iqsms-0.2.2 lib/iqsms/message_status.rb
iqsms-0.2.1 lib/iqsms/message_status.rb
iqsms-0.2.0 lib/iqsms/message_status.rb