class Nessus::Version2::Event
Public Class Methods
# File lib/gemcache/ruby-nessus/ruby-nessus/Version2/event.rb, line 8 def initialize(event) @event = event end
Public Instance Methods
Return the event bid.
@return [String, false]
Return the event bid.
# File lib/gemcache/ruby-nessus/ruby-nessus/Version2/event.rb, line 299 def bid @bid ||= if @event.at('bid') @event.at('bid').inner_text.to_i else false end end
Return true if the event is of critical severity.
@return [Boolean]
Return true if the event is high severity.
# File lib/gemcache/ruby-nessus/ruby-nessus/Version2/event.rb, line 90 def critical? severity == 4 end
Return the event cve.
@return [String, false]
Return the event cvss base score.
# File lib/gemcache/ruby-nessus/ruby-nessus/Version2/event.rb, line 285 def cve @cve ||= if @event.at('cve') @event.at('cve').inner_text else false end end
Return the event cvss base score.
@return [String, false]
Return the event cvss base score.
# File lib/gemcache/ruby-nessus/ruby-nessus/Version2/event.rb, line 271 def cvss_base_score @cvss_base_score ||= if @event.at('cvss_base_score') @event.at('cvss_base_score').inner_text.to_f else false end end
Return other event cvss vector.
@return [String, false]
Return the event cvss vector.
# File lib/gemcache/ruby-nessus/ruby-nessus/Version2/event.rb, line 329 def cvss_vector @cvss_vector ||= if @event.at('cvss_vector') @event.at('cvss_vector').inner_text else false end end
Return the event description.
@return [String, false]
Return the event description.
# File lib/gemcache/ruby-nessus/ruby-nessus/Version2/event.rb, line 165 def description @description ||= if @event.at('description') @event.at('description').inner_text else false end end
Return the event object plugin family name.
@return [String]
Return the event object plugin family name.
@example
event.family #=> "Service detection"
# File lib/gemcache/ruby-nessus/ruby-nessus/Version2/event.rb, line 117 def family @plugin_family ||= @event.at('@pluginFamily').inner_text end
Return ture if the event is of high severity.
@return [Boolean]
Return true if the event is high severity.
# File lib/gemcache/ruby-nessus/ruby-nessus/Version2/event.rb, line 80 def high? severity == 3 end
Return the event object nessus plugin id
@return [String]
Return the event object nessus plugin id
@example
event.plugin_id #=> 3245
# File lib/gemcache/ruby-nessus/ruby-nessus/Version2/event.rb, line 103 def id @plugin_id ||= @event.at('@pluginID').inner_text.to_i end
Return true if event is of informational severity.
@return [Boolean]
Return true if the event is informational.
# File lib/gemcache/ruby-nessus/ruby-nessus/Version2/event.rb, line 50 def informational? severity == 0 end
Return ture if the event is of low severity.
@return [Boolean]
Return true if the event is low severity.
# File lib/gemcache/ruby-nessus/ruby-nessus/Version2/event.rb, line 60 def low? severity == 1 end
Return ture if the event is of medium severity.
@return [Boolean]
Return true if the event is medium severity.
# File lib/gemcache/ruby-nessus/ruby-nessus/Version2/event.rb, line 70 def medium? severity == 2 end
Return the event plugin output.
@return [String, false]
Return the event plugin output.
# File lib/gemcache/ruby-nessus/ruby-nessus/Version2/event.rb, line 207 def output @plugin_output ||= if @event.at('plugin_output') @event.at('plugin_output').inner_text else false end end
Return the event patch publication date.
@return [String, false]
Return the event patch publication date.
# File lib/gemcache/ruby-nessus/ruby-nessus/Version2/event.rb, line 257 def patch_publication_date @patch_publication_date ||= if @event.at('patch_publication_date') DateTime.strptime(@event.at('patch_publication_date').inner_text, fmt='%Y/%m/%d') else false end end
Return the event name (plugin_name
)
@return [String, false]
Return the event name (plugin_name)
@example
event.plugin_name #=> "PHP < 5.2.4 Multiple Vulnerabilities" event.name #=> "PHP < 5.2.4 Multiple Vulnerabilities"
# File lib/gemcache/ruby-nessus/ruby-nessus/Version2/event.rb, line 132 def plugin_name s = @event.at('@pluginName').inner_text @plugin_name ||= if s.empty? false else @event.at('@pluginName').inner_text end return @plugin_name end
Return the event port.
@return [Object]
Return the event port object or port string.
@example
event.port #=> "https (443/tcp)" event.port.number #=> 443 event.port.service #=> "https" event.port.protocol #=> "tcp"
# File lib/gemcache/ruby-nessus/ruby-nessus/Version2/event.rb, line 24 def port @port ||= Port.new(@event.at('@port'), @event.at('@svc_name'), @event.at('@protocol')) end
Return the event risk.
@return [String, false]
Return the event risk.
# File lib/gemcache/ruby-nessus/ruby-nessus/Version2/event.rb, line 193 def risk @risk_factor ||= if @event.at('risk_factor') @event.at('risk_factor').inner_text else false end end
Return the event reference links.
@return [String, false]
Return the event reference links.
# File lib/gemcache/ruby-nessus/ruby-nessus/Version2/event.rb, line 238 def see_also unless @see_also @see_also = [] @event.xpath("see_also").each do |see_also| @see_also << see_also.inner_text end end @see_also end
Return the event severity.
@return [String]
Return the event severity.
@example
event.severity #=> 3 event.severity.in_words #=> "High Severity"
@see String#in_words
# File lib/gemcache/ruby-nessus/ruby-nessus/Version2/event.rb, line 40 def severity @severity ||= @event.at('@severity').inner_text.to_i end
Return the event solution.
@return [String, false]
Return the event solution.
# File lib/gemcache/ruby-nessus/ruby-nessus/Version2/event.rb, line 179 def solution @solution ||= if @event.at('solution') @event.at('solution').inner_text else false end end
Return the event synopsis.
@return [String, false]
Return the event synopsis.
# File lib/gemcache/ruby-nessus/ruby-nessus/Version2/event.rb, line 151 def synopsis @synopsis ||= if @event.at('synopsis') @event.at('synopsis').inner_text else false end end
Return the event plugin version.
@return [String, false]
Return the event plugin version.
# File lib/gemcache/ruby-nessus/ruby-nessus/Version2/event.rb, line 223 def version @plugin_version ||= if @event.at('plugin_version') @event.at('plugin_version').inner_text else false end end
Return other event related references.
@return [String, false]
Return the event related references.
# File lib/gemcache/ruby-nessus/ruby-nessus/Version2/event.rb, line 313 def xref unless @xref @xref = [] @event.xpath("xref").each do |xref| @xref << xref.inner_text end end @xref end