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.



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

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

Instance Attribute Details

#orderObject (readonly)

Returns the value of attribute order.



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

def order
  @order
end

#order_itemObject (readonly)

Returns the value of attribute order_item.



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

def order_item
  @order_item
end

Instance Method Details

#as_jsonObject



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

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)


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

def discount_description
end

#discount_priceFloat

Total discounted cost of product

Returns:

  • (Float)


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

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)


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

def discount_type
end

#item_discount_totalFloat

Total amount of the discount for the line item

Returns:

  • (Float)


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

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)


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

def item_total
  order_item.total_value.to_f
end

#meta1String

Additional Optional Information

limited to 500 characters

Returns:

  • (String)


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

def meta1
end

#meta2String

Additional Optional Information

limited to 500 characters

Returns:

  • (String)


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

def meta2
end

#meta3String

Additional Optional Information

limited to 500 characters

Returns:

  • (String)


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

def meta3
end

#meta4String

Additional Optional Information

limited to 500 characters

Returns:

  • (String)


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

def meta4
end

#meta5String

Additional Optional Information

limited to 500 characters

Returns:

  • (String)


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

def meta5
end

#order_numberString

Order number

limited to 50 characters

Returns:

  • (String)


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

def order_number
  order.id.to_s
end

#priceFloat

Price of one unit purchased

Returns:

  • (Float)


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

def price
  order_item.original_unit_price.to_f
end

#quantityObject

Total number of units purchased

return [Integer]



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

def quantity
  order_item.quantity
end

#ship_dateString

Timestamp when item shipped (ET)

Returns:

  • (String)

    DateTime in %FT%TZ



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

def ship_date
end

#shipping_methodString

Shipping method (e.g. UPS Ground)

limited to 32 characters

Returns:

  • (String)


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

def shipping_method
end

#skuString

Unique stock number of product

limited to 100 characters

Returns:

  • (String)


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

def sku
  order_item.sku
end

#statusString

Status indicator

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

Returns:

  • (String)


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

def status
end

#tracking_numberObject

Shipment tracking number

limited to 32 characters



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

def tracking_number
end