Class: Workarea::Listrak::Models::OrderItem

Inherits:
Object
  • Object
show all
Defined in:
app/services/workarea/listrak/models/order_item.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(order, order_item) ⇒ OrderItem

Returns a new instance of OrderItem.



8
9
10
11
# File 'app/services/workarea/listrak/models/order_item.rb', line 8

def initialize(order, order_item)
  @order = order
  @order_item = order_item
end

Instance Attribute Details

#orderObject (readonly)

Returns the value of attribute order.



6
7
8
# File 'app/services/workarea/listrak/models/order_item.rb', line 6

def order
  @order
end

#order_itemObject (readonly)

Returns the value of attribute order_item.



6
7
8
# File 'app/services/workarea/listrak/models/order_item.rb', line 6

def order_item
  @order_item
end

Instance Method Details

#as_jsonObject



13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
# File 'app/services/workarea/listrak/models/order_item.rb', line 13

def as_json
  {
    discountDescription: discount_description,
    discountType: discount_type,
    discountedPrice: discount_price,
    itemTotal: item_total,
    itemDiscountTotal: item_discount_total,
    meta1: meta1,
    meta2: meta2,
    meta3: meta3,
    meta4: meta4,
    meta5: meta5,
    orderNumber: order_number,
    price: price,
    quantity: quantity,
    shipDate: ship_date,
    shippingMethod: shipping_method,
    sku: sku,
    status: status,
    trackingNumber: tracking_number
  }
end

#discount_descriptionString

Description of the discount for the line item

Returns:

  • (String)


40
41
# File 'app/services/workarea/listrak/models/order_item.rb', line 40

def discount_description
end

#discount_priceFloat

Total discounted cost of product

Returns:

  • (Float)


56
57
58
59
60
61
# File 'app/services/workarea/listrak/models/order_item.rb', line 56

def discount_price
  order_item.price_adjustments
    .select { |pa| pa.data['discount_value'].present? && pa.price == 'item' }
    .sum { |d| d.data['discount_value'] }
    .abs
end

#discount_typeString

Type of discount for the line item

“NotSet” “PriceOverride” “PriceRule” “Promotion” “SeniorCitizen” “Markdown” “Coupon” “QuantityDiscount” “Rebate” “CashDiscount” “TradeDiscount” “TradeInKind” “PromptPaymentDiscount” “GeneralDiscount” “GiftVoucher” “FlexibleDiscount” “RewardProgram” “ManufacturerReward” “CreditCardReward”

Returns:

  • (String)


49
50
# File 'app/services/workarea/listrak/models/order_item.rb', line 49

def discount_type
end

#item_discount_totalFloat

Total amount of the discount for the line item

Returns:

  • (Float)


75
76
77
78
79
80
# File 'app/services/workarea/listrak/models/order_item.rb', line 75

def item_discount_total
  order_item.price_adjustments
    .select { |pa| pa.data['discount_value'].present? && pa.price == 'item' }
    .sum { |d| d.data['discount_value'] }
    .abs
end

#item_totalFloat

Total line item cost (quantity times price)

Returns:

  • (Float)


67
68
69
# File 'app/services/workarea/listrak/models/order_item.rb', line 67

def item_total
  order_item.total_value.to_f
end

#meta1String

Additional Optional Information

limited to 500 characters

Returns:

  • (String)


88
89
# File 'app/services/workarea/listrak/models/order_item.rb', line 88

def meta1
end

#meta2String

Additional Optional Information

limited to 500 characters

Returns:

  • (String)


97
98
# File 'app/services/workarea/listrak/models/order_item.rb', line 97

def meta2
end

#meta3String

Additional Optional Information

limited to 500 characters

Returns:

  • (String)


106
107
# File 'app/services/workarea/listrak/models/order_item.rb', line 106

def meta3
end

#meta4String

Additional Optional Information

limited to 500 characters

Returns:

  • (String)


115
116
# File 'app/services/workarea/listrak/models/order_item.rb', line 115

def meta4
end

#meta5String

Additional Optional Information

limited to 500 characters

Returns:

  • (String)


124
125
# File 'app/services/workarea/listrak/models/order_item.rb', line 124

def meta5
end

#order_numberString

Order number

limited to 50 characters

Returns:

  • (String)


133
134
135
# File 'app/services/workarea/listrak/models/order_item.rb', line 133

def order_number
  order.id.to_s
end

#priceFloat

Price of one unit purchased

Returns:

  • (Float)


141
142
143
# File 'app/services/workarea/listrak/models/order_item.rb', line 141

def price
  order_item.original_unit_price.to_f
end

#quantityObject

Total number of units purchased

return [Integer]



149
150
151
# File 'app/services/workarea/listrak/models/order_item.rb', line 149

def quantity
  order_item.quantity
end

#ship_dateString

Timestamp when item shipped (ET)

Returns:

  • (String)

    DateTime in %FT%TZ



157
158
# File 'app/services/workarea/listrak/models/order_item.rb', line 157

def ship_date
end

#shipping_methodString

Shipping method (e.g. UPS Ground)

limited to 32 characters

Returns:

  • (String)


166
167
# File 'app/services/workarea/listrak/models/order_item.rb', line 166

def shipping_method
end

#skuString

Unique stock number of product

limited to 100 characters

Returns:

  • (String)


175
176
177
# File 'app/services/workarea/listrak/models/order_item.rb', line 175

def sku
  order_item.sku
end

#statusString

Status indicator

“NotSet” “Misc” “PreOrder” “BackOrder” “Pending” “Hold” “Processing” “Shipped” “Completed” “Returned” “Canceled” “Unknown” “Closed”

Returns:

  • (String)


185
186
# File 'app/services/workarea/listrak/models/order_item.rb', line 185

def status
end

#tracking_numberObject

Shipment tracking number

limited to 32 characters



192
193
# File 'app/services/workarea/listrak/models/order_item.rb', line 192

def tracking_number
end