Class: Fluent::VulnerabilityChecker::Rule

Inherits:
Object
  • Object
show all
Defined in:
lib/fluent/vulnerability_checker.rb

Instance Method Summary collapse

Constructor Details

#initialize(plugin_categories, plugin_name = nil, &condition_proc) ⇒ Rule

Returns a new instance of Rule.



12
13
14
15
16
# File 'lib/fluent/vulnerability_checker.rb', line 12

def initialize(plugin_categories, plugin_name = nil, &condition_proc)
  @plugin_categories = Array(plugin_categories)
  @plugin_name = plugin_name
  @condition_proc = condition_proc
end

Instance Method Details

#register_report_message(&report_proc) ⇒ Object



18
19
20
21
# File 'lib/fluent/vulnerability_checker.rb', line 18

def register_report_message(&report_proc)
  @report_proc = report_proc
  self
end

#report(element) ⇒ Object



23
24
25
# File 'lib/fluent/vulnerability_checker.rb', line 23

def report(element)
  @report_proc&.call(element)
end

#safe?(element) ⇒ Boolean

Returns:

  • (Boolean)


27
28
29
30
31
32
33
# File 'lib/fluent/vulnerability_checker.rb', line 27

def safe?(element)
  if @plugin_categories.include?(element.name) && @plugin_name == element['@type']
    !@condition_proc.call(element)
  else
    true
  end
end