Class: Workarea::Admin::FulfillmentViewModel

Inherits:
ApplicationViewModel
  • Object
show all
Defined in:
app/view_models/workarea/admin/fulfillment_view_model.rb

Instance Method Summary collapse

Instance Method Details

#cancellationsObject



27
28
29
30
31
32
33
34
35
36
37
38
# File 'app/view_models/workarea/admin/fulfillment_view_model.rb', line 27

def cancellations
  @cancellations ||= model.canceled_items.map do |fulfillment_item|
    next unless order_item = order
      .items
      .detect { |i| i.id.to_s == fulfillment_item.order_item_id }

    FulfillmentItemViewModel.new(
      order_item,
      quantity: fulfillment_item.quantity_canceled
    )
  end.compact
end

#orderObject



4
5
6
# File 'app/view_models/workarea/admin/fulfillment_view_model.rb', line 4

def order
  options[:order] || OrderViewModel.wrap(Order.find(model.id))
end

#packagesObject



8
9
10
11
12
# File 'app/view_models/workarea/admin/fulfillment_view_model.rb', line 8

def packages
  @packages ||= model.packages.map do |package|
    PackageViewModel.new(package, order: order)
  end
end

#pending_itemsObject



14
15
16
17
18
19
20
21
22
23
24
25
# File 'app/view_models/workarea/admin/fulfillment_view_model.rb', line 14

def pending_items
  @pending_items ||= model.pending_items.map do |fulfillment_item|
    next unless order_item = order
      .items
      .detect { |i| i.id.to_s == fulfillment_item.order_item_id }

    FulfillmentItemViewModel.new(
      order_item,
      quantity: fulfillment_item.quantity_pending
    )
  end.compact
end

#skusObject



40
41
42
43
44
45
# File 'app/view_models/workarea/admin/fulfillment_view_model.rb', line 40

def skus
  @skus ||= FulfillmentSkusViewModel.wrap(
    Fulfillment::Sku.in(id: order.items.map(&:sku).uniq).to_a,
    options
  )
end

#tokensObject



47
48
49
50
51
52
# File 'app/view_models/workarea/admin/fulfillment_view_model.rb', line 47

def tokens
  @tokens ||= FulfillmentTokenViewModel.wrap(
    Fulfillment::Token.by_order(order.id).to_a,
    options.merge(order: order)
  )
end