Class: Mihari::Emitters::Base

Inherits:
Object
  • Object
show all
Includes:
Mixins::Configurable, Mixins::Retriable
Defined in:
lib/mihari/emitters/base.rb

Direct Known Subclasses

Database, HTTP, MISP, Slack, TheHive, Webhook

Constant Summary

Constants included from Mixins::Retriable

Mixins::Retriable::DEFAULT_ON

Class Method Summary collapse

Instance Method Summary collapse

Methods included from Mixins::Retriable

#retry_on_error

Methods included from Mixins::Configurable

#configuration_keys, #configuration_values, #configured?

Constructor Details

#initializeBase

Returns a new instance of Base.



9
10
# File 'lib/mihari/emitters/base.rb', line 9

def initialize(*)
end

Class Method Details

.inherited(child) ⇒ Object



13
14
15
16
# File 'lib/mihari/emitters/base.rb', line 13

def inherited(child)
  super
  Mihari.emitters << child
end

Instance Method Details

#emitObject

Raises:

  • (NotImplementedError)


28
29
30
# File 'lib/mihari/emitters/base.rb', line 28

def emit(*)
  raise NotImplementedError, "You must implement #{self.class}##{__method__}"
end

#run(**params) ⇒ Object



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

def run(**params)
  retry_on_error { emit(**params) }
end

#valid?Boolean

Returns:

  • (Boolean)

Raises:

  • (NotImplementedError)


20
21
22
# File 'lib/mihari/emitters/base.rb', line 20

def valid?
  raise NotImplementedError, "You must implement #{self.class}##{__method__}"
end