class Trackerific::Parsers::FedEx

Protected Instance Methods

events() click to toggle source
# File lib/trackerific/parsers/fedex.rb, line 16
def events
  activity.map do |event|
    Trackerific::Event.new parse_date(event), description(event), location(event)
  end
end
response_error() click to toggle source
# File lib/trackerific/parsers/fedex.rb, line 4
def response_error
  @response_error ||= if highest_severity == 'ERROR'
    Trackerific::Error.new(notifications[:message])
  else
    false
  end
end
summary() click to toggle source
# File lib/trackerific/parsers/fedex.rb, line 12
def summary
  description(activity.first)
end

Private Instance Methods

activity() click to toggle source
# File lib/trackerific/parsers/fedex.rb, line 45
def activity
  @activity ||= begin
    a = track_details[:events]
    a.is_a?(Array) ? a : [a]
  end
end
description(event) click to toggle source
# File lib/trackerific/parsers/fedex.rb, line 24
def description(event)
  event[:event_description]
end
highest_severity() click to toggle source
# File lib/trackerific/parsers/fedex.rb, line 52
def highest_severity
  track_reply[:highest_severity]
end
location(event) click to toggle source
# File lib/trackerific/parsers/fedex.rb, line 28
def location(event)
  a = event[:address]
  "#{a[:city]}, #{a[:state_or_province_code]} #{a[:country_code]}"
end
notifications() click to toggle source
# File lib/trackerific/parsers/fedex.rb, line 56
def notifications
  track_reply[:notifications]
end
parse_date(event) click to toggle source
# File lib/trackerific/parsers/fedex.rb, line 33
def parse_date(event)
  event[:timestamp]
end
track_details() click to toggle source
# File lib/trackerific/parsers/fedex.rb, line 41
def track_details
  @track_details ||= track_reply[:completed_track_details][:track_details]
end
track_reply() click to toggle source
# File lib/trackerific/parsers/fedex.rb, line 37
def track_reply
  @response.hash[:envelope][:body][:track_reply]
end