Class: IngramMicro::CheckShipmentStatus

Inherits:
Transmission show all
Defined in:
lib/ingram_micro/transmissions/check_shipment_status.rb

Constant Summary collapse

TRANSMISSION_FILENAME =
'shipment-status'

Constants inherited from Transmission

Transmission::XSD

Instance Attribute Summary collapse

Attributes inherited from Transmission

#errors, #transaction_name

Instance Method Summary collapse

Methods inherited from Transmission

#add_transaction_info, #order_builder, #schema_valid?, #send_request, #submit_request

Constructor Details

#initialize(options = {}) ⇒ CheckShipmentStatus

Returns a new instance of CheckShipmentStatus.



6
7
8
9
10
11
12
# File 'lib/ingram_micro/transmissions/check_shipment_status.rb', line 6

def initialize(options={})
  super
  @transaction_name = 'shipment-status'
  @business_name = options[:business_name]
  @customer_id = options[:customer_id]
  @line_items = options[:line_items]
end

Instance Attribute Details

#business_nameObject

Returns the value of attribute business_name.



4
5
6
# File 'lib/ingram_micro/transmissions/check_shipment_status.rb', line 4

def business_name
  @business_name
end

#customer_idObject

Returns the value of attribute customer_id.



4
5
6
# File 'lib/ingram_micro/transmissions/check_shipment_status.rb', line 4

def customer_id
  @customer_id
end

#line_itemsObject

Returns the value of attribute line_items.



4
5
6
# File 'lib/ingram_micro/transmissions/check_shipment_status.rb', line 4

def line_items
  @line_items
end

Instance Method Details

#add_message_header(builder) ⇒ Object



24
25
26
27
28
29
30
31
32
# File 'lib/ingram_micro/transmissions/check_shipment_status.rb', line 24

def add_message_header(builder)
  message_header = IngramMicro::MessageHeaderNoPW.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_shipment_status(builder) ⇒ Object



34
35
36
37
38
39
40
41
42
43
44
45
# File 'lib/ingram_micro/transmissions/check_shipment_status.rb', line 34

def add_shipment_status(builder)
  options = {
    business_name: @business_name,
    customer_id: @customer_id,
    line_items: @line_items
  }
  ss = IngramMicro::ShipmentStatus.new(options)
  builder.send('shipment-status') do
    ss.build(builder)
  end
  ss.valid?
end

#xml_builderObject



14
15
16
17
18
19
20
21
22
# File 'lib/ingram_micro/transmissions/check_shipment_status.rb', line 14

def xml_builder
  @builder ||= Nokogiri::XML::Builder.new do |builder|
    builder.message do
      add_message_header(builder)
      add_shipment_status(builder)
      add_transaction_info(builder)
    end
  end
end