Class: VirtualSms::Message

Inherits:
Object
  • Object
show all
Includes:
ActionView::Helpers::TagHelper
Defined in:
app/models/virtual_sms/message.rb

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(sms) ⇒ Message

Returns a new instance of Message.



10
11
12
13
14
# File 'app/models/virtual_sms/message.rb', line 10

def initialize(sms)
  @sms = sms
  @sms[:sms_id] = SecureRandom.uuid
  self.date = Time.now
end

Instance Attribute Details

#dateObject

Returns the value of attribute date.



7
8
9
# File 'app/models/virtual_sms/message.rb', line 7

def date
  @date
end

#smsObject

Returns the value of attribute sms.



7
8
9
# File 'app/models/virtual_sms/message.rb', line 7

def sms
  @sms
end

Class Method Details

.allObject



39
40
41
42
43
44
# File 'app/models/virtual_sms/message.rb', line 39

def self.all
  messages = Rails.cache.fetch(CacheKey) do
    messages = []
  end
  messages
end

.clearObject



52
53
54
# File 'app/models/virtual_sms/message.rb', line 52

def self.clear
  Rails.cache.delete(CacheKey)
end

.find(id) ⇒ Object

Raises:

  • (ActiveRecord::RecordNotFound)


46
47
48
49
50
# File 'app/models/virtual_sms/message.rb', line 46

def self.find(id)
  message = all.find { |message| message.id == id }
  raise ActiveRecord::RecordNotFound if message.nil?
  message
end

Instance Method Details

#body_tagObject



31
32
33
# File 'app/models/virtual_sms/message.rb', line 31

def body_tag
   :pre, body unless body.nil? 
end

#idObject



16
17
18
# File 'app/models/virtual_sms/message.rb', line 16

def id
  @sms[:sms_id]
end

#list_toObject



27
28
29
# File 'app/models/virtual_sms/message.rb', line 27

def list_to
  @sms.to.join(', ')
end

#rawObject



35
36
37
# File 'app/models/virtual_sms/message.rb', line 35

def raw
  @sms.to_s
end

#toObject



20
21
22
23
24
25
# File 'app/models/virtual_sms/message.rb', line 20

def to
  addresses = @sms.to
  address = addresses[0].to_s
  count = addresses.length
  count > 1 ? address + ", ...#{count - 1} more" : address
end