class Gentle::Documents::Request::RMADocument

Constants

DATEFORMAT
NAMESPACE

Attributes

config[R]
name[R]
rma[R]

Public Class Methods

new(options = {}) click to toggle source
# File lib/gentle/documents/request/rma_document.rb, line 18
def initialize(options = {})
  @config          = options.fetch(:config).symbolize_keys
  @rma             = options.fetch(:rma)
  @order           = @rma.order
  @name            = "RMA_#{@rma.number}_#{date_stamp}.xml"
end

Public Instance Methods

business_unit() click to toggle source
# File lib/gentle/documents/request/rma_document.rb, line 58
def business_unit
  @config[:business_unit]
end
date() click to toggle source
# File lib/gentle/documents/request/rma_document.rb, line 74
def date
  @rma.created_at
end
date_stamp() click to toggle source
# File lib/gentle/documents/request/rma_document.rb, line 54
def date_stamp
  Time.now.strftime('%Y%m%d_%H%M%3N')
end
document_number() click to toggle source
# File lib/gentle/documents/request/rma_document.rb, line 66
def document_number
  @rma.number
end
filename() click to toggle source
# File lib/gentle/documents/request/rma_document.rb, line 78
def filename
  "#{business_unit}_#{type}_#{document_number}_#{date.strftime(DATEFORMAT)}.xml"
end
message() click to toggle source
# File lib/gentle/documents/request/rma_document.rb, line 50
def message
  "Sent RMA #{@number} to QL"
end
to_xml() click to toggle source
# File lib/gentle/documents/request/rma_document.rb, line 25
def to_xml
  builder = Nokogiri::XML::Builder.new do |xml|
    xml.RMADocument('xmlns' => 'http://schemas.quietlogistics.com/V2/RMADocument.xsd') do
      xml.RMA('ClientID'       => @config[:client_id],
              'BusinessUnit'   => @config[:business_unit],
              'RMANumber'      => @rma.number,
              'Warehouse'      => warehouse,
              'TrackingNumber' => @rma.tracking_number) do

        @rma.returned_items.each_with_index do |returned_item, line_number|
          xml.Line('LineNo'          => line_number + 1,
                   'OrderNumber'     => @order.number,
                   'ItemNumber'      => returned_item.sku,
                   'Quantity'        => 1,
                   'SaleUOM'         => 'EA', #Each
                   'ReturnReason'    => @rma.reason.name,
                   'CustomerComment' => ''
          )
        end
      end
    end
  end
  builder.to_xml
end
type() click to toggle source
# File lib/gentle/documents/request/rma_document.rb, line 62
def type
  'RMADocument'
end
warehouse() click to toggle source
# File lib/gentle/documents/request/rma_document.rb, line 70
def warehouse
  'Default'
end