class Sms::Message
Attributes
delivery_handler[RW]
Default: Sms
Should respond_to :deliver_sms
from[R]
perform_deliveries[RW]
Default: true
raise_delivery_errors[RW]
Default: true
text[R]
to[R]
Public Class Methods
new(args = {})
click to toggle source
# File lib/sms/message.rb, line 15 def initialize(args = {}) @delivery_handler = Sms @perform_deliveries = true @raise_delivery_errors = true @from, @to, @text = args[:from], args[:to], args[:text] end
Public Instance Methods
deliver()
click to toggle source
Perform the delivery of this message
@return [Sms::Message] self
# File lib/sms/message.rb, line 32 def deliver #inform_interceptors if delivery_handler delivery_handler.deliver_sms(self) { do_delivery } else do_delivery end inform_observers self end
serializable_hash()
click to toggle source
Hash representing the message
@return [Hash] message
# File lib/sms/message.rb, line 25 def serializable_hash {to: to, text: text}.tap {|hash| hash[:from] = from if from} end
Private Instance Methods
delivery_method()
click to toggle source
# File lib/sms/message.rb, line 54 def delivery_method Sms.delivery_method end
do_delivery()
click to toggle source
# File lib/sms/message.rb, line 44 def do_delivery begin if perform_deliveries delivery_method.deliver!(self) end rescue Exception => e raise e if raise_delivery_errors end end
inform_observers()
click to toggle source
# File lib/sms/message.rb, line 58 def inform_observers Sms.inform_observers(self) end