Class: IqSMS::Message

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

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(client_id:, phone:, text:, wap_url: nil, sender: nil, smsc_id: nil, status: nil, flash: false) ⇒ Message

Returns a new instance of Message.



31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
# File 'lib/iqsms/message.rb', line 31

def initialize(client_id:,
               phone:,
               text:,
               wap_url: nil,
               sender: nil,
               smsc_id: nil,
               status: nil,
               flash: false)
  @client_id = client_id
  @phone = phone
  @text = text
  @wap_url = wap_url
  @sender = sender
  @smsc_id = smsc_id
  @status = MessageStatus.new(status: status, client_id: client_id, smsc_id: smsc_id)
  @flash = flash
end

Instance Attribute Details

#client_idObject (readonly)

Returns the value of attribute client_id.



22
23
24
# File 'lib/iqsms/message.rb', line 22

def client_id
  @client_id
end

#flashObject (readonly)

Returns the value of attribute flash.



22
23
24
# File 'lib/iqsms/message.rb', line 22

def flash
  @flash
end

#phoneObject (readonly)

Returns the value of attribute phone.



22
23
24
# File 'lib/iqsms/message.rb', line 22

def phone
  @phone
end

#senderObject (readonly)

Returns the value of attribute sender.



22
23
24
# File 'lib/iqsms/message.rb', line 22

def sender
  @sender
end

#smsc_idObject (readonly)

Returns the value of attribute smsc_id.



22
23
24
# File 'lib/iqsms/message.rb', line 22

def smsc_id
  @smsc_id
end

#statusObject (readonly)

Returns the value of attribute status.



22
23
24
# File 'lib/iqsms/message.rb', line 22

def status
  @status
end

#textObject (readonly)

Returns the value of attribute text.



22
23
24
# File 'lib/iqsms/message.rb', line 22

def text
  @text
end

#wap_urlObject (readonly)

Returns the value of attribute wap_url.



22
23
24
# File 'lib/iqsms/message.rb', line 22

def wap_url
  @wap_url
end

Class Method Details

.message_to_hash(message) ⇒ Object



3
4
5
6
7
8
9
10
11
12
13
# File 'lib/iqsms/message.rb', line 3

def self.message_to_hash(message)
  hash = {
    clientId: message.client_id,
    phone: message.phone,
    text: message.text
  }
  hash[:wap_url] = message.wap_url if message.respond_to?(:wap_url) && message.wap_url.present?
  hash[:sender] = message.sender if message.sender.present?
  hash[:flash] = '1' if message.respond_to?(:flash) && message.flash.present?
  hash
end

.message_to_hash_for_status(message) ⇒ Object



15
16
17
18
19
20
# File 'lib/iqsms/message.rb', line 15

def self.message_to_hash_for_status(message)
  {
    clientId: message.client_id,
    smscId: message.smsc_id
  }
end

Instance Method Details

#flash?Boolean

Returns:

  • (Boolean)


49
50
51
# File 'lib/iqsms/message.rb', line 49

def flash?
  @flash
end

#to_hashObject



53
54
55
# File 'lib/iqsms/message.rb', line 53

def to_hash
  self.class.message_to_hash(self)
end