class UPS::Builders::InternationalInvoiceBuilder
The {InternationalInvoiceBuilder} class builds UPS
XML International invoice Objects.
@author Calvin Hughes @since 0.9.3 @attr [String] name The Containing XML Element Name @attr [Hash] opts The international invoice parts
Attributes
name[RW]
opts[RW]
Public Class Methods
new(name, opts = {})
click to toggle source
# File lib/ups/builders/international_invoice_builder.rb, line 16 def initialize(name, opts = {}) self.name = name self.opts = opts end
Public Instance Methods
currency_code()
click to toggle source
# File lib/ups/builders/international_invoice_builder.rb, line 45 def currency_code element_with_value('CurrencyCode', opts[:currency_code]) end
declaration_statement()
click to toggle source
# File lib/ups/builders/international_invoice_builder.rb, line 37 def declaration_statement element_with_value('DeclarationStatement', opts[:declaration_statement]) end
discount()
click to toggle source
# File lib/ups/builders/international_invoice_builder.rb, line 53 def discount multi_valued('Discount', MonetaryValue: opts[:discount]) end
form_type()
click to toggle source
# File lib/ups/builders/international_invoice_builder.rb, line 21 def form_type element_with_value('FormType', '01') end
freight_charge()
click to toggle source
# File lib/ups/builders/international_invoice_builder.rb, line 49 def freight_charge multi_valued('FreightCharges', MonetaryValue: opts[:freight_charge]) end
invoice_date()
click to toggle source
# File lib/ups/builders/international_invoice_builder.rb, line 29 def invoice_date element_with_value('InvoiceDate', opts[:invoice_date]) end
invoice_number()
click to toggle source
# File lib/ups/builders/international_invoice_builder.rb, line 25 def invoice_number element_with_value('InvoiceNumber', opts[:invoice_number]) end
product_container(opts = {})
click to toggle source
# File lib/ups/builders/international_invoice_builder.rb, line 63 def product_container(opts = {}) InternationalInvoiceProductBuilder.new('Product', opts).to_xml end
product_details()
click to toggle source
# File lib/ups/builders/international_invoice_builder.rb, line 57 def product_details opts[:products].map do |product_opts| product_container(product_opts) end end
reason_for_export()
click to toggle source
# File lib/ups/builders/international_invoice_builder.rb, line 41 def reason_for_export element_with_value('ReasonForExport', opts[:reason_for_export]) end
terms_of_shipment()
click to toggle source
# File lib/ups/builders/international_invoice_builder.rb, line 33 def terms_of_shipment element_with_value('TermsOfShipment', opts[:terms_of_shipment]) end
to_xml()
click to toggle source
Returns an XML representation of the current object
@return [Ox::Element] XML representation of the current object
# File lib/ups/builders/international_invoice_builder.rb, line 70 def to_xml Element.new(name).tap do |international_form| international_form << form_type international_form << invoice_number if opts[:invoice_number] international_form << invoice_date international_form << terms_of_shipment if opts[:terms_of_shipment] international_form << declaration_statement if opts[:declaration_statement] international_form << reason_for_export international_form << currency_code international_form << freight_charge international_form << discount product_details.each do |product_detail| international_form << product_detail end end end