Class: Mihari::Emitters::Database

Inherits:
Base
  • Object
show all
Defined in:
lib/mihari/emitters/database.rb

Overview

Database emitter

Constant Summary

Constants included from Concerns::Retriable

Concerns::Retriable::DEFAULT_CONDITION, Concerns::Retriable::RETRIABLE_ERRORS

Instance Attribute Summary

Attributes inherited from Base

#rule

Attributes inherited from Actor

#options

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from Base

inherited, #initialize, #result

Methods inherited from Actor

#initialize, key, key_aliases, keys, #result, #retry_exponential_backoff, #retry_interval, #retry_times, #timeout, type, #validate_configuration!

Methods included from Concerns::Retriable

#retry_on_error

Methods included from Concerns::Configurable

#configuration_keys?, #configured?

Constructor Details

This class inherits a constructor from Mihari::Emitters::Base

Class Method Details

.configuration_keysObject



29
30
31
# File 'lib/mihari/emitters/database.rb', line 29

def configuration_keys
  %w[database_url]
end

Instance Method Details

#call(artifacts) ⇒ Mihari::Models::Alert?

Create an alert

Parameters:

Returns:



16
17
18
19
20
21
22
# File 'lib/mihari/emitters/database.rb', line 16

def call(artifacts)
  return if artifacts.empty?

  alert = Models::Alert.new(artifacts: artifacts, rule_id: rule.id)
  alert.save
  alert
end

#targetObject



24
25
26
# File 'lib/mihari/emitters/database.rb', line 24

def target
  Mihari.config.database_url.host || Mihari.config.database_url.to_s
end