class IngramMicro::SalesOrderSubmission

Constants

DEFAULTS

Public Class Methods

new(options={}) click to toggle source
Calls superclass method IngramMicro::BaseElement::new
# File lib/ingram_micro/elements/sales_order_submission.rb, line 19
def initialize(options={})
  super
  @element[:customer] ||= IngramMicro::Customer.new
  @element[:sales_order_shipment_information] ||= IngramMicro::SalesOrderShipmentInformation.new
  @element[:credit_card_information] ||= IngramMicro::CreditCardInformation.new
  @element[:sales_order_header] ||= IngramMicro::SalesOrderHeader.new
  check_line_items
  @element[:detail] ||= IngramMicro::Detail.new({line_items: @element[:line_items]})
end

Public Instance Methods

build(builder) click to toggle source
# File lib/ingram_micro/elements/sales_order_submission.rb, line 29
def build(builder)
  builder.send('header') do
    builder.send 'customer-id', @element[:customer_id]
    builder.send 'business-name', @element[:business_name]
    builder.send 'carrier-name', @element[:carrier_name]
    builder.send('customer-information') do
      @element[:customer].build(builder)
    end
    builder.send('shipment-information') do
      @element[:sales_order_shipment_information].build(builder)
    end
    if @element[:purchase_order_information]
      builder.send('purchase-order-information') do
        @element[:purchase_order_information].build(builder)
      end
    end
    builder.send('credit-card-information') do
      @element[:credit_card_information].build(builder)
    end
    builder.send('order-header') do
      @element[:sales_order_header].build(builder)
    end
  end
  builder.send('detail') do
    @element[:detail].build(builder)
  end
end
check_line_items() click to toggle source
# File lib/ingram_micro/elements/sales_order_submission.rb, line 57
def check_line_items
  if @element[:line_items].empty?
    line_item = IngramMicro::SalesOrderLineItem.new
    @element[:line_items] << line_item
  end
end
defaults() click to toggle source
# File lib/ingram_micro/elements/sales_order_submission.rb, line 15
def defaults
  DEFAULTS
end
valid?() click to toggle source
# File lib/ingram_micro/elements/sales_order_submission.rb, line 64
def valid?
  true
end