class Newgistics::Requests::UpdateShipmentContents
Attributes
response_handler[R]
shipment_update[R]
Public Class Methods
new(shipment_update, response_handler: nil)
click to toggle source
# File lib/newgistics/requests/update_shipment_contents.rb, line 6 def initialize(shipment_update, response_handler: nil) @shipment_update = shipment_update @response_handler = response_handler || default_response_handler end
Public Instance Methods
body()
click to toggle source
# File lib/newgistics/requests/update_shipment_contents.rb, line 15 def body xml_builder.to_xml end
path()
click to toggle source
# File lib/newgistics/requests/update_shipment_contents.rb, line 11 def path '/update_shipment_contents.aspx' end
perform()
click to toggle source
# File lib/newgistics/requests/update_shipment_contents.rb, line 19 def perform Newgistics.api.post(self, response_handler) end
Private Instance Methods
add_items_xml(items, xml)
click to toggle source
# File lib/newgistics/requests/update_shipment_contents.rb, line 54 def add_items_xml(items, xml) xml.AddItems do items.each { |item| item_xml(item, xml) } end end
api_key()
click to toggle source
# File lib/newgistics/requests/update_shipment_contents.rb, line 42 def api_key Newgistics.configuration.api_key end
default_response_handler()
click to toggle source
# File lib/newgistics/requests/update_shipment_contents.rb, line 25 def default_response_handler ResponseHandlers::UpdateShipmentContents.new(shipment_update) end
item_xml(item, xml)
click to toggle source
# File lib/newgistics/requests/update_shipment_contents.rb, line 66 def item_xml(item, xml) xml.Item do xml.SKU item.sku xml.Qty item.qty end end
remove_items_xml(items, xml)
click to toggle source
# File lib/newgistics/requests/update_shipment_contents.rb, line 60 def remove_items_xml(items, xml) xml.RemoveItems do items.each { |item| item_xml(item, xml) } end end
shipment_update_attributes()
click to toggle source
# File lib/newgistics/requests/update_shipment_contents.rb, line 46 def shipment_update_attributes { apiKey: api_key, id: shipment_update.id, orderID: shipment_update.order_id }.reject { |_k, v| v.nil? || v.empty? } end
shipment_update_xml(xml)
click to toggle source
# File lib/newgistics/requests/update_shipment_contents.rb, line 35 def shipment_update_xml(xml) xml.Shipment(shipment_update_attributes) do add_items_xml(shipment_update.add_items, xml) remove_items_xml(shipment_update.remove_items, xml) end end
xml_builder()
click to toggle source
# File lib/newgistics/requests/update_shipment_contents.rb, line 29 def xml_builder Nokogiri::XML::Builder.new do |xml| shipment_update_xml(xml) end end