Sha256: 7333277de01f58ceae8c92962228acbcf1544535740eac80f7d8e4fb6d7f2ab6
Contents?: true
Size: 1.67 KB
Versions: 13
Compression:
Stored size: 1.67 KB
Contents
module RulesEngine module Process AUDIT_NONE = 0 AUDIT_INFO = 1 AUDIT_SUCCESS = 2 AUDIT_FAILURE = 3 autoload :DbAuditor, 'rules_engine/process/auditor/db_auditor' class << self def auditor=(auditor_options) type, *parameters = *([ auditor_options ].flatten) case type when Symbol auditor_class_name = type.to_s.camelize auditor_class = RulesEngine::Process.const_get(auditor_class_name) @auditor = auditor_class.new(*parameters) when nil @auditor = Auditor.new else @auditor = auditor_options end end def auditor @auditor ||= Auditor.new end end class Auditor attr_accessor :audit_level def audit(process_id, message, code = RulesEngine::Process::AUDIT_INFO) if perform_audit?(code) if defined?(Rails) && Rails.logger case code when RulesEngine::Process::AUDIT_FAILURE Rails.logger.error("#{'*' * 5} #{process_id}, #{code}, #{message}") else # when RulesEngine::Process::AUDIT_INFO, RulesEngine::Process::AUDIT_SUCCESS Rails.logger.info("#{'*' * 5} #{process_id}, #{code}, #{message}") end else $stderr.puts("#{'*' * 5} #{process_id}, #{code}, #{message}") end end end def history(process_id, options = {}) { "audits" => [] } end def perform_audit?(code) audit_level.nil? || (audit_level != RulesEngine::Process::AUDIT_NONE && code >= audit_level) end end end end
Version data entries
13 entries across 13 versions & 1 rubygems