class Synapse::Auditing::AuditingUnitOfWorkListener
Attributes
recorded_events[R]
@return [Array<EventMessage>]
return_value[RW]
@return [Object]
Public Class Methods
new(command, data_providers, loggers)
click to toggle source
@param [CommandMessage] command @param [Array<AuditDataProvider>] data_providers @param [Array<AuditLogger>] loggers @return [undefined]
# File lib/synapse/auditing/unit_listener.rb, line 14 def initialize(command, data_providers, loggers) @command = command @data_providers = data_providers @loggers = loggers @recorded_events = Array.new end
Public Instance Methods
after_commit(unit)
click to toggle source
@param [UnitOfWork] unit @return [undefined]
# File lib/synapse/auditing/unit_listener.rb, line 38 def after_commit(unit) @loggers.each do |logger| logger.on_success @command, @return_value, @recorded_events end end
on_event_registered(unit, event)
click to toggle source
@param [UnitOfWork] unit @param [EventMessage] event @return [EventMessage]
# File lib/synapse/auditing/unit_listener.rb, line 24 def on_event_registered(unit, event) audit_data = Hash.new @data_providers.each do |provider| audit_data.merge! provider.provide_data_for @command end event = event.and_metadata audit_data @recorded_events.push event event end
on_rollback(unit, cause = nil)
click to toggle source
@param [UnitOfWork] unit @param [Error] cause @return [undefined]
# File lib/synapse/auditing/unit_listener.rb, line 47 def on_rollback(unit, cause = nil) @loggers.each do |logger| logger.on_failure @command, cause, @recorded_events end end