class TDL::QueueBasedImplementationRunner::ApplyProcessingRules

Public Class Methods

new(processing_rules) click to toggle source
# File lib/tdl/queue/queue_based_implementation_runner.rb, line 49
def initialize(processing_rules)
  @processing_rules = processing_rules
  @logger = Logging.logger[self]
  @audit = AuditStream.new
end

Public Instance Methods

after_response(remote_broker, request, response) click to toggle source
# File lib/tdl/queue/queue_based_implementation_runner.rb, line 71
def after_response(remote_broker, request, response)
  if response.instance_of? FatalErrorResponse
     # Do nothing
  else
     remote_broker.respond_to(request, response)
  end
end
prepare_for_next_request(remote_broker, response) click to toggle source
# File lib/tdl/queue/queue_based_implementation_runner.rb, line 79
def prepare_for_next_request(remote_broker, response)
    if response.instance_of? FatalErrorResponse
       remote_broker.close
    else
       # Do nothing
    end
end
process_next_request_from(remote_broker, request) click to toggle source
# File lib/tdl/queue/queue_based_implementation_runner.rb, line 55
def process_next_request_from(remote_broker, request)
  @audit.start_line
  @audit.log(request)
      
  # Obtain response from user
  response = @processing_rules.get_response_for(request)
  @audit.log(response)

  # Act
  after_response(remote_broker, request, response)

  @audit.end_line

  prepare_for_next_request(remote_broker, response)
end