Sha256: 092f249c3f6c2d14d570368b8903713f0b849bd4055e220559665e2ab650782d
Contents?: true
Size: 1.48 KB
Versions: 2
Compression:
Stored size: 1.48 KB
Contents
module Workarea module Avatax class TaxRequest::Response attr_reader :response, :request_order_line_items, :request_shipping_line_items delegate :success?, to: :response def initialize(response:, request_order_line_items:, request_shipping_line_items:) @response = response @request_order_line_items = request_order_line_items @request_shipping_line_items = request_shipping_line_items end def body @body ||= Hashie::Mash.new response.body end def tax_line_for_adjustment(price_adjustment, shipping: nil) return unless success? line_number = if shipping&.partial? request_order_line_items .detect { |line_item| line_item.adjustment == price_adjustment && line_item.shipping == shipping } .try(:line_number) else request_order_line_items .detect { |line_item| line_item.adjustment == price_adjustment } .try(:line_number) end return unless line_number body.lines.detect { |line| line.lineNumber.to_i == line_number } end def tax_line_for_shipping(shipping) return unless success? line_number = request_shipping_line_items .detect { |line_item| line_item.shipping.id == shipping.id } .try(:line_number) return unless line_number body.lines.detect { |line| line.lineNumber.to_i == line_number } end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
workarea-avatax-4.2.1 | lib/workarea/avatax/tax_request/response.rb |
workarea-avatax-4.2.0 | lib/workarea/avatax/tax_request/response.rb |