Class: SnfCore::DeliveryOrder

Inherits:
ApplicationRecord show all
Defined in:
app/models/snf_core/delivery_order.rb

Instance Method Summary collapse

Instance Method Details

#assign!Object



18
19
20
# File 'app/models/snf_core/delivery_order.rb', line 18

def assign!
  update!(status: :assigned) if pending?
end

#cancel!Object



38
39
40
# File 'app/models/snf_core/delivery_order.rb', line 38

def cancel!
  update!(status: :cancelled) unless delivered? || failed?
end

#mark_delivered!Object



30
31
32
# File 'app/models/snf_core/delivery_order.rb', line 30

def mark_delivered!
  update!(status: :delivered, actual_delivery_time: Time.current) if in_transit?
end

#mark_failed!Object



34
35
36
# File 'app/models/snf_core/delivery_order.rb', line 34

def mark_failed!
  update!(status: :failed) unless delivered?
end

#pick_up!Object



22
23
24
# File 'app/models/snf_core/delivery_order.rb', line 22

def pick_up!
  update!(status: :picked_up) if assigned?
end

#start_transit!Object



26
27
28
# File 'app/models/snf_core/delivery_order.rb', line 26

def start_transit!
  update!(status: :in_transit) if picked_up?
end