# frozen_string_literal: true module SolidusEasypost class ShipmentBuilder class << self def from_package(package) ::EasyPost::Shipment.create( to_address: AddressBuilder.from_address(package.order.ship_address), from_address: AddressBuilder.from_stock_location(package.stock_location), parcel: ParcelBuilder.from_package(package), ) end def from_shipment(shipment) ::EasyPost::Shipment.create( to_address: AddressBuilder.from_address(shipment.order.ship_address), from_address: AddressBuilder.from_stock_location(shipment.stock_location), parcel: ParcelBuilder.from_package(shipment.to_package), ) end def from_return_authorization(return_authorization) ::EasyPost::Shipment.create( from_address: AddressBuilder.from_stock_location(return_authorization.stock_location), to_address: AddressBuilder.from_address(return_authorization.order.ship_address), parcel: ParcelBuilder.from_return_authorization(return_authorization), is_return: true ) end end end end