Sha256: d76eafd0cf6c253039cde07af75873679db39c10cf67f18e267c13da3a8fd944
Contents?: true
Size: 1.53 KB
Versions: 18
Compression:
Stored size: 1.53 KB
Contents
# Copyright (c) 2023 Contrast Security, Inc. See https://www.contrastsecurity.com/enduser-terms-0317a for more details. # frozen_string_literal: true require 'contrast/agent/reporting/reporting_events/reportable_hash' require 'contrast/utils/duck_utils' module Contrast module Agent module Reporting # This is the new FindingEventProperty class which will include all the needed information for the new reporting # system to relay this information in the Finding/Trace messages. Events have properties on them which are held # as an array of key-value pairs. class FindingEventProperty < Contrast::Agent::Reporting::ReportableHash # @return [String] the key of the property attr_reader :key # @return [String] the value of the source attr_reader :value def initialize key, value @key = key @value = value super() end # Convert the instance variables on the class, and other information, into the identifiers required for # TeamServer to process the JSON form of this message. # # @return [Hash] # @raise [ArgumentError] def to_controlled_hash validate { key: key, value: value } end # @raise [ArgumentError] def validate return unless Contrast::Utils::DuckUtils.empty_duck?(key) raise(ArgumentError, "#{ self } did not have a proper key. Unable to continue.") end end end end end
Version data entries
18 entries across 18 versions & 1 rubygems