Sha256: efb172862abc335337215fc26e03c33f63593459676badc501ed70f9bd13968a

Contents?: true

Size: 666 Bytes

Versions: 1

Compression:

Stored size: 666 Bytes

Contents

require "base64"
require "bigdecimal"

module Fex
  class ShipResponse < Response

    def image
      @image ||= Base64.decode64(xpath("//Label/Parts/Image").inner_text)
    end

    def label_barcode
      @label_barcode ||= css("Barcodes StringBarcodes Value").inner_text
    end

    def total_net_charge
      @total_net_charge ||= BigDecimal.new(find_total_net_charge)
    end

    def tracking_number
      @tracking_number ||= css("TrackingNumber").inner_text
    end

    private

    def find_total_net_charge
      charge = css("TotalNetCharge Amount").first
      if charge
        charge.inner_text
      else
        '0.0'
      end
    end

  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
fex-0.0.3 lib/fex/ship_response.rb