Module: Smith::Workflow::MessageAdmissionBoundary

Included in:
Smith::Workflow
Defined in:
lib/smith/workflow/message_admission_boundary.rb

Instance Method Summary collapse

Instance Method Details

#append_session_messages!(messages) ⇒ Object



8
9
10
11
12
13
14
15
16
17
18
19
# File 'lib/smith/workflow/message_admission_boundary.rb', line 8

def append_session_messages!(messages)
  admission = MessageBatch.new(messages).call
  @split_step_mutex.synchronize do
    SplitStepPersistence.instance_method(:ensure_no_split_step_boundary!).bind_call(self)
    unless @session_messages.nil? || @session_messages.is_a?(Array)
      raise WorkflowError, "workflow session messages are not appendable"
    end

    (@session_messages ||= []).concat(admission.messages)
  end
  admission
end