Class: Spree::StockItem

Inherits:
ActiveRecord::Base
  • Object
show all
Defined in:
app/models/spree/stock_item.rb

Instance Method Summary collapse

Instance Method Details

#adjust_count_on_hand(value) ⇒ Object


26
27
28
29
30
31
32
33
# File 'app/models/spree/stock_item.rb', line 26

def adjust_count_on_hand(value)
  self.with_lock do
    self.count_on_hand = self.count_on_hand + value
    process_backorders(count_on_hand - count_on_hand_was)

    self.save!
  end
end

#available?Boolean

Tells whether it's available to be included in a shipment

Returns:

  • (Boolean)

47
48
49
# File 'app/models/spree/stock_item.rb', line 47

def available?
  self.in_stock? || self.backorderable?
end

#backordered_inventory_unitsObject


18
19
20
# File 'app/models/spree/stock_item.rb', line 18

def backordered_inventory_units
  Spree::InventoryUnit.backordered_for_stock_item(self)
end

#in_stock?Boolean

Returns:

  • (Boolean)

42
43
44
# File 'app/models/spree/stock_item.rb', line 42

def in_stock?
  self.count_on_hand > 0
end

#set_count_on_hand(value) ⇒ Object


35
36
37
38
39
40
# File 'app/models/spree/stock_item.rb', line 35

def set_count_on_hand(value)
  self.count_on_hand = value
  process_backorders(count_on_hand - count_on_hand_was)

  self.save!
end

#variantObject


51
52
53
# File 'app/models/spree/stock_item.rb', line 51

def variant
  Spree::Variant.unscoped { super }
end

#variant_nameObject


22
23
24
# File 'app/models/spree/stock_item.rb', line 22

def variant_name
  variant.name
end