class CvssSuite::CvssMetric
This class represents any CVSS metric.
Public Class Methods
new(selected_properties)
click to toggle source
Creates a new CVSS metric by properties
# File lib/cvss_suite/cvss_metric.rb, line 17 def initialize(selected_properties) @properties = [] init_properties extract_selected_values_from selected_properties end
Public Instance Methods
count()
click to toggle source
Returns number of properties for this metric.
# File lib/cvss_suite/cvss_metric.rb, line 34 def count @properties.count end
valid?()
click to toggle source
Returns if the metric is valid.
# File lib/cvss_suite/cvss_metric.rb, line 25 def valid? @properties.each do |property| return false unless property.valid? end true end
Private Instance Methods
extract_selected_values_from(selected_properties)
click to toggle source
# File lib/cvss_suite/cvss_metric.rb, line 40 def extract_selected_values_from(selected_properties) selected_properties.each do |selected_property| property = @properties.detect do |p| p.abbreviation == selected_property[:name] && p.position.include?(selected_property[:position]) end property&.set_selected_value selected_property[:selected] end end