class NVD::JSONFeeds::Schema::Impact::BaseMetricV3

Represents the `“baseMetricV3”` value.

Attributes

cvss_v3[R]

The CVSSv3 data.

@return [CVSSv3]

exploitability_score[R]

The exploitability score.

@return [Float, nil]

impact_score[R]

The impact score.

@return [Float, nil]

Public Class Methods

from_json(json) click to toggle source

Maps the parsed JSON to a Symbol Hash for {#initialize}.

@param [Hash{String => Object}] json

The parsed JSON.

@return [Hash{Symbol => Object}]

The Symbol Hash.
# File lib/nvd/json_feeds/schema/impact/base_metric_v3.rb, line 53
def self.from_json(json)
  {
    cvss_v3: CVSSv3.load(json.fetch('cvssV3')),

    exploitability_score: json['exploitabilityScore'],
    impact_score:         json['impactScore']
  }
end
load(json) click to toggle source

Loads the base metrics V3 object from the parsed JSON.

@param [Hash{String => Object}] json

The parsed JSON.

@return [BaseMetricV3]

The loaded base metric V3 object.
# File lib/nvd/json_feeds/schema/impact/base_metric_v3.rb, line 71
def self.load(json)
  new(**from_json(json))
end
new(cvss_v3: , exploitability_score: nil, impact_score: nil) click to toggle source

Initializes the base metric v3 object.

@param [CVSSv3] cvss_v3

@param [Float, nil] exploitability_score

@param [Float, nil] impact_score

# File lib/nvd/json_feeds/schema/impact/base_metric_v3.rb, line 36
def initialize(cvss_v3: , exploitability_score: nil,
                          impact_score: nil)
  @cvss_v3 = cvss_v3

  @exploitability_score = exploitability_score
  @impact_score         = impact_score
end