Class: IqSMS::MessageStatus

Inherits:
Object
  • Object
show all
Defined in:
lib/iqsms/message_status.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(status:, client_id: nil, smsc_id: nil) ⇒ MessageStatus

Returns a new instance of MessageStatus.



5
6
7
8
9
# File 'lib/iqsms/message_status.rb', line 5

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

Instance Attribute Details

#client_idObject (readonly)

Returns the value of attribute client_id.



3
4
5
# File 'lib/iqsms/message_status.rb', line 3

def client_id
  @client_id
end

#smsc_idObject (readonly)

Returns the value of attribute smsc_id.



3
4
5
# File 'lib/iqsms/message_status.rb', line 3

def smsc_id
  @smsc_id
end

#statusObject (readonly)

Returns the value of attribute status.



3
4
5
# File 'lib/iqsms/message_status.rb', line 3

def status
  @status
end

Instance Method Details

#delivered?Boolean

Returns:

  • (Boolean)


15
16
17
# File 'lib/iqsms/message_status.rb', line 15

def delivered?
  @status == 'delivered'
end

#queued?Boolean

Returns:

  • (Boolean)


11
12
13
# File 'lib/iqsms/message_status.rb', line 11

def queued?
  @status == 'queued'
end

#status_textObject



19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
# File 'lib/iqsms/message_status.rb', line 19

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