Class: Accountability::OrderGroup

Inherits:
ApplicationRecord show all
Defined in:
app/models/accountability/order_group.rb

Instance Method Summary collapse

Methods inherited from ApplicationRecord

validates_attributes

Instance Method Details

#accrue_credits!Object



26
27
28
29
30
# File 'app/models/accountability/order_group.rb', line 26

def accrue_credits!
  return unless complete?

  order_items.each(&:accrue_credit!)
end

#add_item!(product) ⇒ Object



32
33
34
# File 'app/models/accountability/order_group.rb', line 32

def add_item!(product)
  order_items.create! product: product
end

#assign_account!(account) ⇒ Object



40
41
42
# File 'app/models/accountability/order_group.rb', line 40

def assign_account!()
  update! account: 
end

#checkout!Object



15
16
17
18
19
20
21
22
23
24
# File 'app/models/accountability/order_group.rb', line 15

def checkout!
  trigger_callback :before_checkout

  transaction do
    complete!
    accrue_credits!

    trigger_callback :after_checkout
  end
end

#unassigned?Boolean

Returns:

  • (Boolean)


36
37
38
# File 'app/models/accountability/order_group.rb', line 36

def unassigned?
  .nil?
end