class DuodealerAPI::Fulfillment

Public Instance Methods

cancel() click to toggle source
# File lib/duodealer_api/resources/fulfillment.rb, line 9
def cancel; load_attributes_from_response(post(:cancel, {}, only_id)); end
complete() click to toggle source
# File lib/duodealer_api/resources/fulfillment.rb, line 10
def complete; load_attributes_from_response(post(:complete, {}, only_id)); end
load(attributes, remove_root = false, persisted = false) click to toggle source
Calls superclass method
# File lib/duodealer_api/resources/fulfillment.rb, line 17
def load(attributes, remove_root = false, persisted = false)
  order_id = attributes['order_id']
  prefix_options[:order_id] = order_id if order_id
  super(attributes, remove_root, persisted)
end
open() click to toggle source
# File lib/duodealer_api/resources/fulfillment.rb, line 11
def open; load_attributes_from_response(post(:open, {}, only_id)); end
order_id() click to toggle source
# File lib/duodealer_api/resources/fulfillment.rb, line 5
def order_id
  @prefix_options[:order_id]
end
order_id=(order_id) click to toggle source
# File lib/duodealer_api/resources/fulfillment.rb, line 13
def order_id=(order_id)
  prefix_options[:order_id] = order_id
end
save() click to toggle source
Calls superclass method
# File lib/duodealer_api/resources/fulfillment.rb, line 23
def save
  if prefix_options[:order_id].present?
    super
  else
    line_items = attributes['line_items_by_fulfillment_order'] || attributes[:line_items_by_fulfillment_order]
    if line_items.blank?
      raise DuodealerAPI::ValidationException,
            "either 'line_items_by_fulfillment_order' or prefix_options[:order_id] is required"
    end

    fulfillmentV2 = FulfillmentV2.new(attributes)
    result = fulfillmentV2.save
    load(fulfillmentV2.attributes, false, true)
    result
  end
end
update_tracking(tracking_info:, notify_customer:) click to toggle source
# File lib/duodealer_api/resources/fulfillment.rb, line 40
def update_tracking(tracking_info:, notify_customer:)
  fulfillmentV2 = FulfillmentV2.new(attributes)
  result = fulfillmentV2.update_tracking(tracking_info: tracking_info, notify_customer: notify_customer)
  load(fulfillmentV2.attributes, false, true)
  result
end