Class: SpreeCmCommissioner::EnqueueCart::AddItemStatusMarker
- Inherits:
-
BaseInteractor
- Object
- BaseInteractor
- SpreeCmCommissioner::EnqueueCart::AddItemStatusMarker
- Defined in:
- app/interactors/spree_cm_commissioner/enqueue_cart/add_item_status_marker.rb
Instance Method Summary collapse
- #assign_firestore_context_attributes ⇒ Object
- #build_data_to_set ⇒ Object
- #call ⇒ Object
- #current_date ⇒ Object
- #update_cart_firestore_status ⇒ Object
Instance Method Details
#assign_firestore_context_attributes ⇒ Object
37 38 39 40 41 42 43 44 |
# File 'app/interactors/spree_cm_commissioner/enqueue_cart/add_item_status_marker.rb', line 37 def assign_firestore_context_attributes document = firestore_reference.get context.firestore_status = document[:status] context.firestore_queued_at = document[:queued_at] context.firestore_document_reference = document.ref.path.split('/documents').last context.firestore_collection_reference = context.firestore_document_reference.rpartition('/').first end |
#build_data_to_set ⇒ Object
28 29 30 31 32 33 34 35 |
# File 'app/interactors/spree_cm_commissioner/enqueue_cart/add_item_status_marker.rb', line 28 def build_data_to_set { status: status, queued_at: queued_at.presence, variant_id: variant_id.presence, quantity: quantity.presence }.compact end |
#call ⇒ Object
8 9 10 11 12 13 14 15 16 |
# File 'app/interactors/spree_cm_commissioner/enqueue_cart/add_item_status_marker.rb', line 8 def call if order_number.nil? || job_id.nil? || status.nil? context.fail!(message: 'Missing required fields') return end update_cart_firestore_status assign_firestore_context_attributes end |
#current_date ⇒ Object
24 25 26 |
# File 'app/interactors/spree_cm_commissioner/enqueue_cart/add_item_status_marker.rb', line 24 def current_date Time.current.strftime('%Y-%m-%d') end |
#update_cart_firestore_status ⇒ Object
18 19 20 21 22 |
# File 'app/interactors/spree_cm_commissioner/enqueue_cart/add_item_status_marker.rb', line 18 def update_cart_firestore_status data_to_set = build_data_to_set firestore_reference.set(data_to_set, merge: true) end |