Class: Spree::LineItem

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

Instance Method Summary collapse

Instance Method Details

#adjust_quantityObject



43
44
45
# File 'app/models/spree/line_item.rb', line 43

def adjust_quantity
  self.quantity = 0 if self.quantity.nil? || self.quantity < 0
end

#amountObject Also known as: total



38
39
40
# File 'app/models/spree/line_item.rb', line 38

def amount
  self.price * self.quantity
end

#copy_priceObject



26
27
28
# File 'app/models/spree/line_item.rb', line 26

def copy_price
  self.price = variant.price if variant && self.price.nil?
end

#decrement_quantityObject



34
35
36
# File 'app/models/spree/line_item.rb', line 34

def decrement_quantity
  self.quantity -= 1
end

#increment_quantityObject



30
31
32
# File 'app/models/spree/line_item.rb', line 30

def increment_quantity
  self.quantity += 1
end

#insufficient_stock?Boolean

Returns:

  • (Boolean)


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

def insufficient_stock?
  !sufficient_stock?
end

#sufficient_stock?Boolean

Returns:

  • (Boolean)


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

def sufficient_stock?
  Spree::Config[:allow_backorders] ? true : (self.variant.on_hand >= self.quantity)
end