module Deliveries::Couriers::Spring
Constants
- COURIER_ID
- Config
- ENDPOINT_LIVE
- ENDPOINT_TEST
Public Instance Methods
create_pickup(sender:, receiver:, parcels:, reference_code:, pickup_date: nil, **)
click to toggle source
# File lib/deliveries/couriers/spring.rb, line 68 def create_pickup(sender:, receiver:, parcels:, reference_code:, pickup_date: nil, **) delivery = Shipments::Create.new( sender: sender, receiver: receiver, parcels: parcels, reference_code: reference_code ).execute Deliveries::Pickup.new(delivery: delivery, pickup_date: pickup_date) end
create_shipment(sender:, receiver:, parcels:, reference_code:, shipment_date: nil, **)
click to toggle source
# File lib/deliveries/couriers/spring.rb, line 57 def create_shipment(sender:, receiver:, parcels:, reference_code:, shipment_date: nil, **) delivery = Shipments::Create.new( sender: sender, receiver: receiver, parcels: parcels, reference_code: reference_code ).execute Deliveries::Shipment.new(delivery: delivery, shipment_date: shipment_date) end
get_label(tracking_code:, **)
click to toggle source
# File lib/deliveries/couriers/spring.rb, line 36 def get_label(tracking_code:, **) decoded_label, url = Labels::Generate.new( tracking_code: tracking_code ).execute.values_at(:decoded_label, :url) Deliveries::Label.new( raw: decoded_label, url: url ) end
get_labels(tracking_codes:, **)
click to toggle source
# File lib/deliveries/couriers/spring.rb, line 47 def get_labels(tracking_codes:, **) labels = Deliveries::Labels.new tracking_codes.each do |tracking_code| labels << get_label(tracking_code: tracking_code) end labels end
pickup_info(tracking_code:, **)
click to toggle source
# File lib/deliveries/couriers/spring.rb, line 79 def pickup_info(tracking_code:, **) shipment_info(tracking_code: tracking_code) end
shipment_info(tracking_code:, **)
click to toggle source
# File lib/deliveries/couriers/spring.rb, line 27 def shipment_info(tracking_code:, **) response = Shipments::Trace.new( tracking_code: tracking_code ).execute tracking_info_params = Shipments::Trace::FormatResponse.new(response: response).execute Deliveries::TrackingInfo.new(**tracking_info_params) end