Class: AuditLogParser
- Inherits:
-
Object
- Object
- AuditLogParser
- Defined in:
- lib/audit_log_parser.rb,
lib/audit_log_parser/version.rb
Defined Under Namespace
Classes: Error
Constant Summary collapse
- VERSION =
'0.1.3'
Class Method Summary collapse
Class Method Details
.parse(src, flatten: false) ⇒ Object
7 8 9 10 11 |
# File 'lib/audit_log_parser.rb', line 7 def self.parse(src, flatten: false) src.each_line.map do |line| parse_line(line, flatten: flatten) end end |
.parse_line(line, flatten: false) ⇒ Object
13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
# File 'lib/audit_log_parser.rb', line 13 def self.parse_line(line, flatten: false) line = line.strip if line !~ /type=\w+ msg=audit\([\d.:]+\): */ raise Error, "Invalid audit log header: #{line.inspect}" end header, body = line.split(/\): */, 2) header << ')' header.sub!(/: *\z/, '') header = parse_header(header) body = parse_body(body.strip) result = {'header' => header, 'body' => body} flatten ? flatten_hash(result) : result end |