class IngramMicro::SalesOrder
Constants
- TRANSMISSION_FILENAME
Attributes
business_name[RW]
carrier_name[RW]
credit_card_information[RW]
customer[RW]
customer_id[RW]
detail[RW]
purchase_order_information[RW]
sales_order_header[RW]
sales_order_shipment_information[RW]
Public Class Methods
new(options={})
click to toggle source
Calls superclass method
IngramMicro::Transmission::new
# File lib/ingram_micro/transmissions/sales_order.rb, line 8 def initialize(options={}) super(options) @transaction_name = 'sales-order-submission' @customer = options[:customer] @sales_order_shipment_information = options[:sales_order_shipment_information] @credit_card_information = options[:credit_card_information] @sales_order_header = options[:sales_order_header] @detail = options[:detail] @business_name = options[:business_name] @customer_id = options[:customer_id] @carrier_name = options[:carrier_name] @purchase_order_information = options[:purchase_order_information] validate_options(options) end
Public Instance Methods
add_message_header(builder)
click to toggle source
# File lib/ingram_micro/transmissions/sales_order.rb, line 34 def add_message_header(builder) message_header = IngramMicro::MessageHeaderPW.new({ partner_name: IngramMicro.configuration.partner_name, transaction_name: transaction_name}) builder.send('message-header') do message_header.build(builder) end message_header.valid? end
add_sales_order_submission(builder)
click to toggle source
# File lib/ingram_micro/transmissions/sales_order.rb, line 44 def add_sales_order_submission(builder) sos_options = { detail: detail, business_name: @business_name, customer_id: @customer_id, carrier_name: @carrier_name, customer: customer, sales_order_shipment_information: sales_order_shipment_information, sales_order_header: sales_order_header, credit_card_information: credit_card_information, purchase_order_information: purchase_order_information } sos = IngramMicro::SalesOrderSubmission.new(sos_options) builder.send('sales-order-submission') do sos.build(builder) end sos.valid? end
validate_options(options)
click to toggle source
# File lib/ingram_micro/transmissions/sales_order.rb, line 63 def validate_options(options) raise "use sales_order_shipment_information (IngramMicro::SalesOrderShipmentInformation" if options[:shipment_information] raise "use sales_order_header (IngramMicro::SalesOrderHeader" if options[:order_header] end
xml_builder()
click to toggle source
# File lib/ingram_micro/transmissions/sales_order.rb, line 24 def xml_builder @builder ||= Nokogiri::XML::Builder.new do |builder| builder.message do add_message_header(builder) add_sales_order_submission(builder) add_transaction_info(builder) end end end