Class: SendleAPI::Order

Inherits:
Base
  • Object
show all
Defined in:
lib/sendle_api/resources/order.rb

Constant Summary collapse

DEFAULT_ATTRS =
{
  pickup_date: nil,
  first_mile_option: nil,
  description: nil,
  customer_reference: nil,
  metadata: {},
  contents: {},
  weight: Weight.new,
  volume: Volume.new,
  sender: Sender.new,
  receiver: Receiver.new,
}
CHILD_OBJECT_KEYS_FOR_VALIDATION =
[:weight, :volume, :sender, :receiver]

Instance Method Summary collapse

Methods inherited from Base

basic_auth_details, #errors, #initialize, set_site, validate_configs

Constructor Details

This class inherits a constructor from SendleAPI::Base

Instance Method Details

#saveObject



30
31
32
33
34
35
# File 'lib/sendle_api/resources/order.rb', line 30

def save
  set_idempotency_key_header
  result = super
  set_order_id_as_id
  result
end

#trackObject



37
38
39
40
41
42
43
# File 'lib/sendle_api/resources/order.rb', line 37

def track
  if attributes["sendle_reference"]
    attributes[:tracking] = Tracking.find(sendle_reference)
  else
    raise ArgumentError, "sendle_reference not found in attributes"
  end
end