class NVD::JSONFeeds::Schema::Impact

Represents the `“impact”` value.

Attributes

base_metric_v2[R]

The base metric V2.

@return [BaseMetricV2, nil]

base_metric_v3[R]

The base metric V3.

@return [BaseMetricV3, 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.rb, line 45
def self.from_json(json)
  {
    base_metric_v3: if (base_metric_v3 = json['baseMetricV3'])
                      BaseMetricV3.load(base_metric_v3)
                    end,

    base_metric_v2: if (base_metric_v2 = json['baseMetricV2'])
                      BaseMetricV2.load(base_metric_v2)
                    end
  }
end
load(json) click to toggle source

Loads the impact object from the parsed JSON.

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

The parsed JSON.

@return [Impact]

The loaded impact object.
# File lib/nvd/json_feeds/schema/impact.rb, line 66
def self.load(json)
  new(**from_json(json))
end
new(base_metric_v3: nil, base_metric_v2: nil) click to toggle source

Initializes the impact object.

@param [BaseMetricV3, nil] base_metric_v3

The parsed `"baseMetricV3"` object.

@param [BaseMetricV2, nil] base_metric_v2

The parsed `"baseMetricV3"` object.
# File lib/nvd/json_feeds/schema/impact.rb, line 31
def initialize(base_metric_v3: nil, base_metric_v2: nil)
  @base_metric_v3 = base_metric_v3
  @base_metric_v2 = base_metric_v2
end