class Workarea::Avatax::TaxRequest::OrderLineItem
Attributes
adjustment[R]
order_item[R]
shipping[R]
Public Class Methods
new(order_item:, adjustment:, adjustment_set:, quantity: nil, shipping: nil)
click to toggle source
# File lib/workarea/avatax/tax_request/order_line_item.rb, line 6 def initialize(order_item:, adjustment:, adjustment_set:, quantity: nil, shipping: nil) @order_item = order_item @adjustment = adjustment @adjustment_set = adjustment_set @quantity = quantity @shipping = shipping end
Private Instance Methods
addresses()
click to toggle source
# File lib/workarea/avatax/tax_request/order_line_item.rb, line 16 def addresses return unless address = shipping&.address { shipTo: { line1: address.street, line2: address.street_2, city: address.city, region: address.region, country: address.country.alpha2, postalCode: address.postal_code } } end
amount()
click to toggle source
# File lib/workarea/avatax/tax_request/order_line_item.rb, line 35 def amount total = @adjustment_set.taxable_share_for adjustment if shipping.present? && shipping.partial? total *= quantity / order_item.quantity.to_f end total end
description()
click to toggle source
# File lib/workarea/avatax/tax_request/order_line_item.rb, line 58 def description return if order_item.product_attributes.empty? product.name end
item_code()
click to toggle source
# File lib/workarea/avatax/tax_request/order_line_item.rb, line 43 def item_code order_item.sku end
product()
click to toggle source
# File lib/workarea/avatax/tax_request/order_line_item.rb, line 51 def product @product ||= Mongoid::Factory.from_db( Catalog::Product, order_item.product_attributes ) end
quantity()
click to toggle source
# File lib/workarea/avatax/tax_request/order_line_item.rb, line 31 def quantity @quantity || adjustment.quantity end
tax_code()
click to toggle source
# File lib/workarea/avatax/tax_request/order_line_item.rb, line 47 def tax_code adjustment.data["tax_code"] end