Class: Synapse::Auditing::AuditingDispatchInterceptor

Inherits:
Command::DispatchInterceptor show all
Defined in:
lib/synapse/auditing/dispatch_interceptor.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeAuditingDispatchInterceptor

Returns a new instance of AuditingDispatchInterceptor.



10
11
12
13
# File 'lib/synapse/auditing/dispatch_interceptor.rb', line 10

def initialize
  @data_providers = Array.new
  @loggers = Array.new
end

Instance Attribute Details

#data_providersArray<AuditDataProvider>

Returns:



5
6
7
# File 'lib/synapse/auditing/dispatch_interceptor.rb', line 5

def data_providers
  @data_providers
end

#loggersArray<AuditLogger>

Returns:



8
9
10
# File 'lib/synapse/auditing/dispatch_interceptor.rb', line 8

def loggers
  @loggers
end

Instance Method Details

#intercept(command, unit, chain) ⇒ Object

Returns The result of the execution of the command.

Parameters:

  • command (CommandMessage)
  • unit (UnitOfWork)

    The current unit of work for this command dispatch

  • chain (InterceptorChain)

Returns:

  • (Object)

    The result of the execution of the command



19
20
21
22
23
24
25
26
27
# 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