Class: Comable::Order

Inherits:
ActiveRecord::Base
  • Object
show all
Includes:
Decoratable
Defined in:
app/models/comable/order.rb

Instance Method Summary collapse

Methods included from Decoratable

included

Instance Method Details

#completeObject



34
35
36
37
38
39
40
41
42
# File 'app/models/comable/order.rb', line 34

def complete
  # TODO: トランザクションの追加
  precomplete
  # TODO: コールバック化
  # define_model_callbacks :complete
  before_complete
  save!
  self
end

#complete?Boolean

Returns:

  • (Boolean)


44
45
46
# File 'app/models/comable/order.rb', line 44

def complete?
  !incomplete?
end

#current_total_priceObject

時価合計を取得



53
54
55
# File 'app/models/comable/order.rb', line 53

def current_total_price
  order_deliveries.map(&:order_details).flatten.each(&:current_subtotal_price)
end

#incomplete?Boolean

Returns:

  • (Boolean)


48
49
50
# File 'app/models/comable/order.rb', line 48

def incomplete?
  completed_at.nil?
end

#precompleteObject



28
29
30
31
32
# File 'app/models/comable/order.rb', line 28

def precomplete
  valid_stock
  fail Comable::InvalidOrder, errors.full_messages.join("\n") if errors.any?
  self
end

#total_priceObject

売価合計を取得



58
59
60
# File 'app/models/comable/order.rb', line 58

def total_price
  order_deliveries.map(&:order_details).flatten.each(&:subtotal_price)
end