module Deliveries::Couriers::MondialRelayDual

Constants

API_ENDPOINT_LIVE
API_ENDPOINT_TEST
Config

Public Instance Methods

create_pickup(sender:, receiver:, parcels:, reference_code:, pickup_date: nil, remarks: nil, language: nil) click to toggle source
# File lib/deliveries/couriers/mondial_relay_dual.rb, line 61
def create_pickup(sender:, receiver:, parcels:, reference_code:,
                  pickup_date: nil, remarks: nil, language: nil)
  params = Pickups::Create::FormatParams.new(
    sender: sender,
    receiver: receiver,
    parcels: parcels,
    reference_code: reference_code,
    remarks: remarks,
    language: language
  ).execute

  tracking_code, pdf_url = Shipments::Create.new(
    params: params
  ).execute.values_at(:tracking_code, :pdf_url)

  Deliveries::Pickup.new(
    courier_id: 'mondial_relay_dual',
    sender: sender,
    receiver: receiver,
    parcels: parcels,
    reference_code: reference_code,
    tracking_code: tracking_code,
    pickup_date: pickup_date,
    label: Label.new(url: pdf_url)
  )
end
create_shipment(sender:, receiver:, parcels:, reference_code:, collection_point: nil, shipment_date: nil, remarks: nil, language: nil) click to toggle source
# File lib/deliveries/couriers/mondial_relay_dual.rb, line 34
def create_shipment(sender:, receiver:, parcels:, reference_code:, collection_point: nil, shipment_date: nil, remarks: nil, language: nil)
  params = Shipments::Create::FormatParams.new(
    sender: sender,
    receiver: receiver,
    parcels: parcels,
    collection_point: collection_point,
    reference_code: reference_code,
    remarks: remarks,
    language: language
  ).execute

  tracking_code, pdf_url = Shipments::Create.new(
    params: params
  ).execute.values_at(:tracking_code, :pdf_url)

  Deliveries::Shipment.new(
    courier_id: 'mondial_relay_dual',
    sender: sender,
    receiver: receiver,
    parcels: parcels,
    reference_code: reference_code,
    tracking_code: tracking_code,
    shipment_date: shipment_date,
    label: Label.new(url: pdf_url)
  )
end
get_collection_point(global_point_id:) click to toggle source
# File lib/deliveries/couriers/mondial_relay_dual.rb, line 30
def get_collection_point(global_point_id:)
  MondialRelay.get_collection_point(global_point_id: global_point_id)
end
get_collection_points(country:, postcode:) click to toggle source
# File lib/deliveries/couriers/mondial_relay_dual.rb, line 23
def get_collection_points(country:, postcode:)
  MondialRelay.get_collection_points(
    country: country,
    postcode: postcode
  )
end
get_label(**) click to toggle source
# File lib/deliveries/couriers/mondial_relay_dual.rb, line 96
def get_label(**)
  raise NotImplementedError, 'This courier does not support get_label operation'
end
get_labels(**) click to toggle source
# File lib/deliveries/couriers/mondial_relay_dual.rb, line 100
def get_labels(**)
  raise NotImplementedError, 'This courier does not support get_labels operation'
end
pickup_info(tracking_code:, language: nil) click to toggle source
# File lib/deliveries/couriers/mondial_relay_dual.rb, line 92
def pickup_info(tracking_code:, language: nil)
  MondialRelay.pickup_info(tracking_code: tracking_code, language: language)
end
shipment_info(tracking_code:, language: nil) click to toggle source
# File lib/deliveries/couriers/mondial_relay_dual.rb, line 88
def shipment_info(tracking_code:, language: nil)
  MondialRelay.shipment_info(tracking_code: tracking_code, language: language)
end