Class: SoarAuditorApi::AuditorAPI
- Inherits:
-
Object
- Object
- SoarAuditorApi::AuditorAPI
- Defined in:
- lib/soar_auditor_api/auditor_api.rb
Constant Summary collapse
- AUDIT_LEVELS =
[:debug, :info, :warn, :error, :fatal]
- DEFAULT_AUDIT_LEVEL =
:info
Instance Method Summary collapse
- #<<(data) ⇒ Object
-
#audit(data) ⇒ Object
Safety to ensure that the Auditor that extends this API implements this IOC method.
-
#configuration_is_valid?(configuration) ⇒ Boolean
Safety to ensure that the Auditor that extends this API implements this IOC method.
- #configure(configuration = nil) ⇒ Object
- #debug(data) ⇒ Object
- #error(data) ⇒ Object
- #fatal(data) ⇒ Object
- #info(data) ⇒ Object
-
#initialize(configuration = nil) ⇒ AuditorAPI
constructor
A new instance of AuditorAPI.
- #prefer_direct_call? ⇒ Boolean
- #set_audit_level(minimum_audit_level) ⇒ Object
- #warn(data) ⇒ Object
Constructor Details
#initialize(configuration = nil) ⇒ AuditorAPI
Returns a new instance of AuditorAPI.
6 7 8 9 |
# 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 |
Instance Method Details
#<<(data) ⇒ Object
26 27 28 |
# File 'lib/soar_auditor_api/auditor_api.rb', line 26 def <<(data) audit(data.to_s) if audit_filtered_out?(:info) end |
#audit(data) ⇒ Object
Safety to ensure that the Auditor that extends this API implements this IOC method
52 53 54 |
# 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) ⇒ Boolean
Safety to ensure that the Auditor that extends this API implements this IOC method
47 48 49 |
# 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) ⇒ Object
11 12 13 14 15 |
# 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) ⇒ Object
22 23 24 |
# 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) ⇒ Object
38 39 40 |
# 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) ⇒ Object
42 43 44 |
# 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) ⇒ Object
30 31 32 |
# 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? ⇒ Boolean
56 57 58 |
# 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) ⇒ Object
17 18 19 20 |
# 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) ⇒ Object
34 35 36 |
# File 'lib/soar_auditor_api/auditor_api.rb', line 34 def warn(data) audit(data.to_s) if audit_filtered_out?(:warn) end |