Class: SoarAuditorApi::AuditorAPI

Inherits:
Object
  • Object
show all
Defined in:
lib/soar_auditor_api/auditor_api.rb

Constant Summary collapse

DEBUG_PREFIX =
"debug:"
INFO_PREFIX =
"info:"
WARN_PREFIX =
"warn:"
ERROR_PREFIX =
"error:"
FATAL_PREFIX =
"fatal:"

Instance Method Summary collapse

Constructor Details

#initializeAuditorAPI

Returns a new instance of AuditorAPI.



9
10
11
12
13
# File 'lib/soar_auditor_api/auditor_api.rb', line 9

def initialize
  @configuration = nil
  @minimum_audit_level = :info
  @audit_levels  = [:debug, :info, :warn, :error, :fatal]
end

Instance Method Details

#<<(data) ⇒ Object



29
30
31
# File 'lib/soar_auditor_api/auditor_api.rb', line 29

def <<(data)
  audit(INFO_PREFIX + data.to_s) if audit_filtered(:info)
end

#audit(data) ⇒ Object

Safety to ensure that the Auditor that extends this API implements this IOC method

Raises:

  • (NotImplementedError)


55
56
57
# File 'lib/soar_auditor_api/auditor_api.rb', line 55

def audit(data)
  raise NotImplementedError, "Method must implement audit method in Auditor extending the API"
end

#configuration_is_valid(configuration) ⇒ Object

Safety to ensure that the Auditor that extends this API implements this IOC method

Raises:

  • (NotImplementedError)


50
51
52
# File 'lib/soar_auditor_api/auditor_api.rb', line 50

def configuration_is_valid(configuration)
  raise NotImplementedError, "Method must implement configuration_is_valid method in Auditor extending the API"
end

#configure(configuration = nil) ⇒ Object

Raises:

  • (ArgumentError)


15
16
17
18
# File 'lib/soar_auditor_api/auditor_api.rb', line 15

def configure(configuration = nil)
  raise ArgumentError, "Invalid configuration provided" unless configuration_is_valid(configuration)
  @configuration = configuration
end

#debug(data) ⇒ Object



25
26
27
# File 'lib/soar_auditor_api/auditor_api.rb', line 25

def debug(data)
  audit(DEBUG_PREFIX + data.to_s) if audit_filtered(:debug)
end

#error(data) ⇒ Object



41
42
43
# File 'lib/soar_auditor_api/auditor_api.rb', line 41

def error(data)
  audit(ERROR_PREFIX + data.to_s) if audit_filtered(:error)
end

#fatal(data) ⇒ Object



45
46
47
# File 'lib/soar_auditor_api/auditor_api.rb', line 45

def fatal(data)
  audit(FATAL_PREFIX + data.to_s) if audit_filtered(:fatal)
end

#info(data) ⇒ Object



33
34
35
# File 'lib/soar_auditor_api/auditor_api.rb', line 33

def info(data)
  audit(INFO_PREFIX + data.to_s) if audit_filtered(:info)
end

#set_audit_level(minimum_audit_level) ⇒ Object

Raises:

  • (ArgumentError)


20
21
22
23
# File 'lib/soar_auditor_api/auditor_api.rb', line 20

def set_audit_level(minimum_audit_level)
  raise ArgumentError, "Invalid audit level specified" unless @audit_levels.include?(minimum_audit_level)
  @minimum_audit_level = minimum_audit_level
end

#warn(data) ⇒ Object



37
38
39
# File 'lib/soar_auditor_api/auditor_api.rb', line 37

def warn(data)
  audit(WARN_PREFIX + data.to_s) if audit_filtered(:warn)
end