Class: SnfCore::DeliveryOrder
- Inherits:
-
ApplicationRecord
- Object
- ActiveRecord::Base
- ApplicationRecord
- SnfCore::DeliveryOrder
- Defined in:
- app/models/snf_core/delivery_order.rb
Instance Method Summary collapse
- #assign! ⇒ Object
- #cancel! ⇒ Object
- #mark_delivered! ⇒ Object
- #mark_failed! ⇒ Object
- #pick_up! ⇒ Object
- #start_transit! ⇒ Object
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 |