class SoarAuditorApi::AuditorAPI

Constants

AUDIT_LEVELS
DEFAULT_AUDIT_LEVEL

Public Class Methods

new(configuration = nil) click to toggle source
# File lib/soar_auditor_api/auditor_api.rb, line 6
def initialize(configuration = nil)
  @minimum_audit_level = DEFAULT_AUDIT_LEVEL
  configure(configuration) if configuration
end

Public Instance Methods

<<(data) click to toggle source
# File lib/soar_auditor_api/auditor_api.rb, line 26
def <<(data)
  audit(data.to_s) if audit_filtered_out?(:info)
end
audit(data) click to toggle source

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

# File lib/soar_auditor_api/auditor_api.rb, line 52
def audit(data)
  raise NotImplementedError, "Class must implement audit method in Auditor extending the API"
end
configuration_is_valid?(configuration) click to toggle source

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

# File lib/soar_auditor_api/auditor_api.rb, line 47
def configuration_is_valid?(configuration)
  raise NotImplementedError, "Class must implement configuration_is_valid? method in Auditor extending the API"
end
configure(configuration = nil) click to toggle source
# File lib/soar_auditor_api/auditor_api.rb, line 11
def configure(configuration = nil)
  raise ArgumentError, "Invalid configuration provided" unless configuration_is_valid?(configuration)
  prefer_direct_call?
  @configuration = configuration
end
debug(data) click to toggle source
# File lib/soar_auditor_api/auditor_api.rb, line 22
def debug(data)
  audit(data.to_s) if audit_filtered_out?(:debug)
end
error(data) click to toggle source
# File lib/soar_auditor_api/auditor_api.rb, line 38
def error(data)
  audit(data.to_s) if audit_filtered_out?(:error)
end
fatal(data) click to toggle source
# File lib/soar_auditor_api/auditor_api.rb, line 42
def fatal(data)
  audit(data.to_s) if audit_filtered_out?(:fatal)
end
info(data) click to toggle source
# File lib/soar_auditor_api/auditor_api.rb, line 30
def info(data)
  audit(data.to_s) if audit_filtered_out?(:info)
end
prefer_direct_call?() click to toggle source
# File lib/soar_auditor_api/auditor_api.rb, line 56
def prefer_direct_call?
  raise NotImplementedError, "Class must implement prefer_direct_call? method in Auditor extending the API"
end
set_audit_level(minimum_audit_level) click to toggle source
# File lib/soar_auditor_api/auditor_api.rb, line 17
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) click to toggle source
# File lib/soar_auditor_api/auditor_api.rb, line 34
def warn(data)
  audit(data.to_s) if audit_filtered_out?(:warn)
end

Private Instance Methods

audit_filtered_out?(audit_level) click to toggle source
# File lib/soar_auditor_api/auditor_api.rb, line 62
def audit_filtered_out?(audit_level)
  return AUDIT_LEVELS.index(@minimum_audit_level) <= AUDIT_LEVELS.index(audit_level)
end