Sha256: 6209143eb2c2c4c06750faa92a5495645e45778f1244c9784f03b9ee80fa192a
Contents?: true
Size: 1010 Bytes
Versions: 4
Compression:
Stored size: 1010 Bytes
Contents
# frozen_string_literal: true module Mihari module Emitters class Base include Mixins::Configurable include Mixins::Retriable # @return [Array<Mihari::Artifact>] attr_reader :artifacts # @return [Mihari::Structs::Rule] attr_reader :rule # # @param [Array<Mihari::Artifact>] artifacts # @param [Mihari::Structs::Rule] rule # @param [Hash] **_options # def initialize(artifacts:, rule:, **_options) @artifacts = artifacts @rule = rule end class << self def inherited(child) super Mihari.emitters << child end end # @return [Boolean] def valid? raise NotImplementedError, "You must implement #{self.class}##{__method__}" end def run(**params) retry_on_error { emit(**params) } end def emit(*) raise NotImplementedError, "You must implement #{self.class}##{__method__}" end end end end
Version data entries
4 entries across 4 versions & 1 rubygems
Version | Path |
---|---|
mihari-5.3.1 | lib/mihari/emitters/base.rb |
mihari-5.3.0 | lib/mihari/emitters/base.rb |
mihari-5.2.4 | lib/mihari/emitters/base.rb |
mihari-5.2.3 | lib/mihari/emitters/base.rb |