Class: Legion::Extensions::Audit::Transport::Messages::Audit

Inherits:
Transport::Message
  • Object
show all
Defined in:
lib/legion/extensions/audit/transport/messages/audit.rb

Instance Method Summary collapse

Instance Method Details

#encrypt?Boolean

Returns:

  • (Boolean)


17
18
19
# File 'lib/legion/extensions/audit/transport/messages/audit.rb', line 17

def encrypt?
  false
end

#messageObject



30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
# File 'lib/legion/extensions/audit/transport/messages/audit.rb', line 30

def message
  {
    event_type:     @options[:event_type],
    principal_id:   @options[:principal_id],
    principal_type: @options[:principal_type] || 'system',
    action:         @options[:action],
    resource:       @options[:resource],
    source:         @options[:source] || 'unknown',
    node:           @options[:node],
    status:         @options[:status] || 'success',
    duration_ms:    @options[:duration_ms],
    detail:         @options[:detail],
    created_at:     @options[:created_at] || Time.now.utc.iso8601
  }
end

#routing_keyObject



9
10
11
# File 'lib/legion/extensions/audit/transport/messages/audit.rb', line 9

def routing_key
  "audit.#{@options[:event_type] || 'unknown'}"
end

#typeObject



13
14
15
# File 'lib/legion/extensions/audit/transport/messages/audit.rb', line 13

def type
  'audit'
end

#validateObject



21
22
23
24
25
26
27
28
# File 'lib/legion/extensions/audit/transport/messages/audit.rb', line 21

def validate
  raise 'event_type is required' unless @options[:event_type]
  raise 'principal_id is required' unless @options[:principal_id]
  raise 'action is required' unless @options[:action]
  raise 'resource is required' unless @options[:resource]

  @valid = true
end