module CvssSuite

Module of this gem.

CVSS-Suite, a Ruby gem to manage the CVSS vector

Copyright © Siemens AG, 2016

Authors:

Oliver Hambörger <oliver.hamboerger@siemens.com>

This work is licensed under the terms of the MIT license. See the LICENSE.md file in the top-level directory.

CVSS-Suite, a Ruby gem to manage the CVSS vector

Copyright © Siemens AG, 2016

Authors:

Oliver Hambörger <oliver.hamboerger@siemens.com>

This work is licensed under the terms of the MIT license. See the LICENSE.md file in the top-level directory.

CVSS-Suite, a Ruby gem to manage the CVSS vector

Copyright © Siemens AG, 2016

Authors:

Oliver Hambörger <oliver.hamboerger@siemens.com>

This work is licensed under the terms of the MIT license. See the LICENSE.md file in the top-level directory.

CVSS-Suite, a Ruby gem to manage the CVSS vector

Copyright © Siemens AG, 2016

Authors:

Adam David <adamrdavid@gmail.com>

This work is licensed under the terms of the MIT license. See the LICENSE.md file in the top-level directory.

CVSS-Suite, a Ruby gem to manage the CVSS vector

Copyright © Siemens AG, 2016

Authors:

Oliver Hambörger <oliver.hamboerger@siemens.com>

This work is licensed under the terms of the MIT license. See the LICENSE.md file in the top-level directory.

CVSS-Suite, a Ruby gem to manage the CVSS vector

Copyright © Siemens AG, 2016

Authors:

Oliver Hambörger <oliver.hamboerger@siemens.com>

This work is licensed under the terms of the MIT license. See the LICENSE.md file in the top-level directory.

CVSS-Suite, a Ruby gem to manage the CVSS vector

Copyright © Siemens AG, 2018

Authors:

Oliver Hambörger <oliver.hamboerger@siemens.com>

This work is licensed under the terms of the MIT license. See the LICENSE.md file in the top-level directory.

CVSS-Suite, a Ruby gem to manage the CVSS vector

Copyright © Siemens AG, 2020

Authors:

Oliver Hambörger <oliver.hamboerger@siemens.com>

This work is licensed under the terms of the MIT license. See the LICENSE.md file in the top-level directory.

Constants

CVSS_VECTOR_BEGINNINGS
VERSION

Public Class Methods

new(vector) click to toggle source

Returns a CVSS class by a vector.

# File lib/cvss_suite.rb, line 30
def self.new(vector)
  return InvalidCvss.new unless vector.is_a? String

  @vector_string = vector
  case version
  when 2
    Cvss2.new(@vector_string)
  when 3.0
    Cvss3.new(@vector_string)
  when 3.1
    Cvss31.new(@vector_string)
  else
    InvalidCvss.new
  end
end

Private Class Methods

version() click to toggle source
# File lib/cvss_suite.rb, line 48
def self.version
  CVSS_VECTOR_BEGINNINGS.each do |beginning|
    return beginning[:version] if @vector_string.start_with? beginning[:string]
  end
end