class Synapse::Auditing::AuditingDispatchInterceptor

Attributes

data_providers[RW]

@return [Array<AuditDataProvider>]

loggers[RW]

@return [Array<AuditLogger>]

Public Class Methods

new() click to toggle source
# File lib/synapse/auditing/dispatch_interceptor.rb, line 10
def initialize
  @data_providers = Array.new
  @loggers = Array.new
end

Public Instance Methods

intercept(command, unit, chain) click to toggle source

@param [CommandMessage] command @param [UnitOfWork] unit The current unit of work for this command dispatch @param [InterceptorChain] chain @return [Object] The result of the execution of the command

# File lib/synapse/auditing/dispatch_interceptor.rb, line 19
def intercept(command, unit, chain)
  audit_listener = AuditingUnitOfWorkListener.new command, @data_providers, @loggers
  unit.register_listener audit_listener

  result = chain.proceed command
  audit_listener.return_value = result

  result
end