Sha256: aa00bb352102105d6c76226684d8d5d786e59d42f952d0074ada77aa78c14509

Contents?: true

Size: 1.13 KB

Versions: 3

Compression:

Stored size: 1.13 KB

Contents

module DHLEcommerceAPI
  # Component item
  class Shipment::ShipmentItem < Base
    self.element_name = ""

    # add some validations?
    DEFAULT_ATTRIBUTES = { 
      shipment_id: nil,
      package_desc: "",
      total_weight: nil,
      total_weight_uom: "G",
      dimension_uom: "CM",
      height: nil,
      length: nil,
      width: nil,
      product_code: "PDO",
      cod_value: nil,
      insurance_value: nil,
      total_value: 300,
      currency: "MYR",
      remarks: nil,
      is_routing_info_required: "Y",
      consignee_address: { 
        company_name: "",
        name: "",
        address1: "",
        address2: nil,
        address3: nil,
        city: "",
        state: "",
        district: nil,
        country: "MY",
        post_code: "",
        phone: "",
        email: nil 
      }
    }

    def initialize(attributes = {}, persisted = false)
      status = attributes["response_status"]
      if status.present? && status["code"] != "200"
        error_messages = status["message_details"].map{|err| err["message_detail"]}
        handle_errors(status["code"], error_messages) 
      end
      super
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
dhl_ecommerce_api-0.1.13 lib/dhl_ecommerce_api/resources/shipment/shipment_item.rb
dhl_ecommerce_api-0.1.12 lib/dhl_ecommerce_api/resources/shipment/shipment_item.rb
dhl_ecommerce_api-0.1.8 lib/dhl_ecommerce_api/resources/shipment/shipment_item.rb