Class: Edi::OrderEventProcessor

Inherits:
BaseService show all
Defined in:
app/services/edi/order_event_processor.rb

Instance Method Summary collapse

Methods inherited from BaseService

#initialize, #log_debug, #log_error, #log_info, #log_warning, #logger, #options, #process, #tagged_logger

Constructor Details

This class inherits a constructor from BaseService

Instance Method Details

#dispatch(order, event, options = {}) ⇒ Object

Public entry point used by EDI event handlers.
Resolves :cancel → :auto_cancel/:auto_reject when applicable, then dispatches.



7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
# File 'app/services/edi/order_event_processor.rb', line 7

def dispatch(order, event, options = {})
  return unless order.edi_transaction_id

  event   = resolve_event(order, event)
  options = resolve_options(order, event, options)

  case event
  when :acknowledge_order
    process_acknowledgement(order, options)
  when :cancel
    process_cancellation(order, options)
    InternalMailer.notify_edi_admin_of_edi_cancel(order).deliver_later
  when :auto_cancel
    process_auto_cancellation(order, options)
  when :auto_reject
    process_auto_reject(order, options)
  when :back_order
    process_back_order(order, options)
  end
end