class ParcelApi::Track
This module provides API requests to track the parcels and return tracking information for a specific tracking reference.
Constants
- PARCELTRACK_URL
Public Class Methods
new(connection=nil)
click to toggle source
Creates a new ParcelApi::Track
instance.
# File lib/parcel_api/track.rb, line 11 def initialize(connection=nil) @connection ||= connection || ParcelApi::Client.connection end
Public Instance Methods
details(tracking_reference)
click to toggle source
Return details for a specific tracking reference. @param tracking_reference [String] @return Object of tracking details
# File lib/parcel_api/track.rb, line 19 def details(tracking_reference) details_url = File.join(PARCELTRACK_URL, tracking_reference.to_s) response = @connection.get details_url events = response.parsed['results'].tap do |d| d['tracking_events'].map {|e| e['event_datetime'] = Time.parse(e['event_datetime'])} d['tracking_events'].sort_by! {|k| k['event_datetime'].to_i} end RecursiveOpenStruct.new(events, recurse_over_arrays: true) end