class SoarAuditingProviderAPI::AuditingProviderAPI
Constants
- DEFAULT
Attributes
auditor[RW]
auditors[RW]
Public Class Methods
new(auditors)
click to toggle source
# File lib/soar_auditing_provider_api/auditing_provider_api.rb, line 8 def initialize(auditors) raise ArgumentError.new("Invalid auditors provided") if not auditors.is_a?(Hash) raise ArgumentError.new("No auditors provided") if auditors.nil? or auditors.empty? @auditors = auditors end
Public Instance Methods
<<(data)
click to toggle source
# File lib/soar_auditing_provider_api/auditing_provider_api.rb, line 18 def <<(data) @auditor.info(data) end
debug(data)
click to toggle source
# File lib/soar_auditing_provider_api/auditing_provider_api.rb, line 14 def debug(data) @auditor.debug(data) end
error(data)
click to toggle source
# File lib/soar_auditing_provider_api/auditing_provider_api.rb, line 26 def error(data) @auditor.error(data) end
fatal(data)
click to toggle source
# File lib/soar_auditing_provider_api/auditing_provider_api.rb, line 34 def fatal(data) @auditor.fatal(data) end
info(data)
click to toggle source
# File lib/soar_auditing_provider_api/auditing_provider_api.rb, line 22 def info(data) @auditor.info(data) end
select(nfrs = DEFAULT)
click to toggle source
# File lib/soar_auditing_provider_api/auditing_provider_api.rb, line 38 def select(nfrs = DEFAULT) if nfrs.nil? or nfrs.empty? auditor_selected = auditors.keys.first else auditor_selected = nil auditors.each do |auditor, configuration| auditor_nfrs = configuration['nfrs'] nfrs_matched = true nfrs.each do |nfr, value| nfrs_matched = false if not auditor_nfrs[nfr] or (auditor_nfrs[nfr] != value) end if nfrs_matched auditor_selected = auditor break end end raise NFRMatchError.new("Could not match NFRs to an auditor") if auditor_selected.nil? end configuration = auditors[auditor_selected] @auditor = auditor_selected return @auditor, configuration end
warn(data)
click to toggle source
# File lib/soar_auditing_provider_api/auditing_provider_api.rb, line 30 def warn(data) @auditor.warn(data) end