class EventMachine::Smsified::DeliveryInfoNotification

Attributes

address[R]
code[R]
created_date_time[R]
delivery_status[R]
direction[R]
message[R]
message_id[R]
parts[R]
sender_address[R]
sent_date_time[R]

Public Class Methods

new(json) click to toggle source

Intantiate a new object to provide convenience methods on a Delivery Info Notification. Note: This class only pulls the first delivery info object from the notification. There can be more as per the spec. smsified.com/sms-api-documentation/sending#checking_status

@param [required, String] valid JSON for an Delivery Info Notifcation to be parsed @return [Object] the parsed delivery info notification @raise [ArgumentError] if json is not valid JSON or an Delivery Info Notifcation type @example

del = DeliveryInfoNotification.new(json)
puts del.message # foobar
# File lib/em-smsified/incoming_message.rb, line 20
def initialize(json)
  begin
    @json = JSON.parse json
    contents = @json['deliveryInfoNotification']['deliveryInfo']

    @delivery_status = contents['deliveryStatus']
    @code = contents['code']
    @message_id = contents['messageId']
    @sender_address = contents['senderAddress']
    @address = contents['address']
    @created_date_time = Time.parse contents['createdDateTime']
    @sent_date_time = Time.parse contents['sentDateTime']
    @parts = contents['parts']
    @direction = contents['direction']
    @message = contents['message']
  rescue => error
    raise EventMachine::Smsified::MessageError, "Not valid JSON or DeliveryInfoNotification"
  end          
end