Sha256: e6567d4c092b60a26e4570bfb0904db34c6da781db94edb683becd41b6f0f1a4
Contents?: true
Size: 1.3 KB
Versions: 1
Compression:
Stored size: 1.3 KB
Contents
module RRD::Response class Tracking require 'rrd-track/response/shipment_detail' require 'rrd-track/response/track_detail' attr_accessor :tracking_events, :shipment_detail def initialize(xml) @shipment_detail = parse_shipment_detail(xml.search("ParcelTrackingViewModel")) @tracking_events = [] xml.search("StopDetailViewModel").each do |event| @tracking_events << parse_tracking_detail(event) end end private def parse_shipment_detail(node) RRD::Response::ShipmentDetail.new( { airway_bill: node.search('AirwayBill').text, tracking_number: node.search('TrackingNumber').text, location: node.search('Location').text, status: node.search('Status').text, vendor_code: node.search('VendorCode').text, vendor_name: node.search('VendorName').text, is_courier: node.search('IsCourier').text } ) end def parse_tracking_detail(node) RRD::Response::TrackDetail.new( { description: node.search('Description').text, location: node.search('Location').text, timestamp: node.search('TimeStamp').text } ) end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
rrd-track-1.0.1 | lib/rrd-track/response/tracking.rb |