Class: Mihari::Structs::Config
- Inherits:
-
Dry::Struct
- Object
- Dry::Struct
- Mihari::Structs::Config
- Defined in:
- lib/mihari/structs/config.rb
Class Method Summary collapse
Class Method Details
.from_class(klass) ⇒ Mihari::Structs::Config?
Returns config.
16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 |
# File 'lib/mihari/structs/config.rb', line 16 def self.from_class(klass) return nil if klass == Mihari::Analyzers::Rule name = klass.to_s.split("::").last.to_s is_analyzer = klass.ancestors.include?(Mihari::Analyzers::Base) is_emitter = klass.ancestors.include?(Mihari::Emitters::Base) is_enricher = klass.ancestors.include?(Mihari::Enrichers::Base) type = "Analyzer" type = "Emitter" if is_emitter type = "Enricher" if is_enricher begin instance = is_analyzer ? klass.new("dummy") : klass.new is_configured = instance.configured? values = instance.configuration_values new(name: name, values: values, is_configured: is_configured, type: type) rescue ArgumentError => _e nil end end |