Class: ForemanOpenscap::OvalStatus

Inherits:
HostStatus::Status
  • Object
show all
Defined in:
app/models/foreman_openscap/oval_status.rb

Constant Summary collapse

PATCHED =
0
VULNERABLE =
1
PATCH_AVAILABLE =
2

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.status_nameObject



7
8
9
# File 'app/models/foreman_openscap/oval_status.rb', line 7

def self.status_name
  N_('OVAL scan')
end

Instance Method Details

#relevant?(options = {}) ⇒ Boolean

Returns:

  • (Boolean)


35
36
37
# File 'app/models/foreman_openscap/oval_status.rb', line 35

def relevant?(options = {})
  host.combined_oval_policies.any?
end

#to_global(options = {}) ⇒ Object



24
25
26
27
28
29
30
31
32
33
# File 'app/models/foreman_openscap/oval_status.rb', line 24

def to_global(options = {})
  case to_status
  when PATCHED
    ::HostStatus::Global::OK
  when VULNERABLE
    ::HostStatus::Global::WARN
  when PATCH_AVAILABLE
    ::HostStatus::Global::ERROR
  end
end

#to_label(options = {}) ⇒ Object



11
12
13
14
15
16
17
18
19
20
21
22
# File 'app/models/foreman_openscap/oval_status.rb', line 11

def to_label(options = {})
  case to_status
  when PATCHED
    N_('No Vulnerabilities found')
  when VULNERABLE
    N_("%s vulnerabilities found") % host.cves_without_errata.count
  when PATCH_AVAILABLE
    N_("%s vulnerabilities with available patch found") % host.cves_with_errata.count
  else
    N_('Unknown OVAL status')
  end
end

#to_status(options = {}) ⇒ Object



39
40
41
42
43
# File 'app/models/foreman_openscap/oval_status.rb', line 39

def to_status(options = {})
  return PATCH_AVAILABLE if host.cves_with_errata.any?
  return VULNERABLE if host.cves_without_errata.any?
  PATCHED
end