Sha256: d9cb452c2d5790cc0c0cb64d90f81773f6fa8894bf00de9fc97dbda968344ddf

Contents?: true

Size: 849 Bytes

Versions: 6

Compression:

Stored size: 849 Bytes

Contents

module Seko
  class Receipt

    def self.line_items(items)
      items.map.collect.with_index do |item, index|
        {
          "LineNumber"  => index + 1,
          "ProductCode" => item[:upc],
          "Quantity"    => item[:quantity],
          "SupplierCompanyCode" => Seko.config[:supplier_code]
        }
      end
    end

    def self.format(return_auth, warehouse)
      {
        "Request" => {
          "List" => {
            "ReceiptLineItem" => line_items(return_auth[:line_items])
          },
          "Receipt" => {
            "ASNNumber"   => random_asn,
            "HBReference" => return_auth[:number],
            "IsReturn"    => true
          },
          "ReceiptHeader" => {
            "DCCode" => warehouse
          }
        }
      }
    end

    def self.random_asn
      rand.to_s[2..11]
    end

  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
seko-0.0.11 lib/seko/receipt.rb
seko-0.0.10 lib/seko/receipt.rb
seko-0.0.9 lib/seko/receipt.rb
seko-0.0.8 lib/seko/receipt.rb
seko-0.0.7 lib/seko/receipt.rb
seko-0.0.6 lib/seko/receipt.rb