class NVD::JSONFeeds::Schema::Impact::BaseMetricV2

Represents the `“baseMetricV2”` value.

Attributes

ac_insuf_info[R]

@return [Boolean, nil]

cvss_v2[R]

The CVSSv2 data.

@return [CVSSv2, nil]

exploitability_score[R]

The exploitability score.

@return [Float, nil]

impact_score[R]

The impact score.

@return [Float, nil]

obtain_all_privilege[R]

@return [Boolean, nil]

obtain_other_privilege[R]

@return [Boolean, nil]

obtain_user_privilege[R]

@return [Boolean, nil]

severity[R]

The severity.

@return [String, nil]

user_interaction_required[R]

@return [Boolean, 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_v2.rb, line 97
def self.from_json(json)
  {
    cvss_v2: if (value = json['cvssV2'])
               CVSSv2.load(value)
             end,

    severity:                  json['severity'],
    exploitability_score:      json['exploitabilityScore'],
    impact_score:              json['impactScore'],
    ac_insuf_info:             json['acInsufInfo'],
    obtain_all_privilege:      json['obtainAllPrivilege'],
    obtain_user_privilege:     json['obtainUserPrivilege'],
    obtain_other_privilege:    json['obtainOtherPrivilege'],
    user_interaction_required: json['userInteractionRequired']
  }
end
load(json) click to toggle source

Loads the base metrics V2 object from the parsed JSON.

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

The parsed JSON.

@return [BaseMetricV2]

The loaded base metric V3 object.
# File lib/nvd/json_feeds/schema/impact/base_metric_v2.rb, line 123
def self.load(json)
  new(**from_json(json))
end
new(cvss_v2: nil, severity: nil, exploitability_score: nil, impact_score: nil, ac_insuf_info: nil, obtain_all_privilege: nil, obtain_user_privilege: nil, obtain_other_privilege: nil, user_interaction_required: nil) click to toggle source

Initializes the base metric V2 object.

@param [CVSSv2, nil] cvss_v2

@param [String, nil] severity

@param [Float, nil] exploitability_score

@param [Float, nil] impact_score

@param [Boolean, nil] ac_insuf_info

@param [Boolean, nil] obtain_all_privilege

@param [Boolean, nil] obtain_user_privilege

@param [Boolean, nil] obtain_other_privilege

@param [Boolean, nil] user_interaction_required

# File lib/nvd/json_feeds/schema/impact/base_metric_v2.rb, line 68
def initialize(cvss_v2: nil,
               severity: nil,
               exploitability_score: nil,
               impact_score: nil,
               ac_insuf_info: nil,
               obtain_all_privilege: nil,
               obtain_user_privilege: nil,
               obtain_other_privilege: nil,
               user_interaction_required: nil)
  @cvss_v2 = cvss_v2
  @severity = severity
  @exploitability_score = exploitability_score
  @impact_score = impact_score
  @ac_insuf_info = ac_insuf_info
  @obtain_all_privilege = obtain_all_privilege
  @obtain_user_privilege = obtain_user_privilege
  @obtain_other_privilege = obtain_other_privilege
  @user_interaction_required = user_interaction_required
end