Sha256: 4dc976239b3ee7de0ef1f5d14bf66059eb90bbab4ef24bebf4bde4138f7d39ac

Contents?: true

Size: 872 Bytes

Versions: 6

Compression:

Stored size: 872 Bytes

Contents

require_relative '../../../lib/cvss_suite/cvss'
require_relative 'cvss3_base'
require_relative 'cvss3_temporal'
require_relative 'cvss3_environmental'

##
# This class represents a CVSS vector in version 3.0.

class Cvss3 < Cvss

  ##
  # Returns the Base Score of the CVSS vector.

  def base_score
    check_valid
    @base.score.round_up(1)
  end

  ##
  # Returns the Temporal Score of the CVSS vector.

  def temporal_score
    (@base.score * @temporal.score).round_up(1)
  end

  ##
  # Returns the Environmental Score of the CVSS vector.

  def environmental_score
    return temporal_score unless @environmental.valid?
    (@environmental.score @temporal.score).round_up(1)
  end

  private

  def init_metrics
    @base = Cvss3Base.new(@properties)
    @temporal = Cvss3Temporal.new(@properties)
    @environmental = Cvss3Environmental.new(@properties)
  end

end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
cvss-suite-1.0.5 lib/cvss_suite/cvss3/cvss3.rb
cvss-suite-1.0.4 lib/cvss_suite/cvss3/cvss3.rb
cvss-suite-1.0.3 lib/cvss_suite/cvss3/cvss3.rb
cvss-suite-1.0.2 lib/cvss_suite/cvss3/cvss3.rb
cvss-suite-1.0.1 lib/cvss_suite/cvss3/cvss3.rb
cvss-suite-1.0.0 lib/cvss_suite/cvss3/cvss3.rb