Sha256: f65b1246298e295e1d1e732b591962687ad0b926276dd372a8103b53c8defb4c
Contents?: true
Size: 1.47 KB
Versions: 18
Compression:
Stored size: 1.47 KB
Contents
# Copyright (c) 2023 Contrast Security, Inc. See https://www.contrastsecurity.com/enduser-terms-0317a for more details. # frozen_string_literal: true require 'base64' require 'set' require 'contrast/agent/assess/property/evented' require 'contrast/agent/assess/property/tagged' require 'contrast/agent/assess/property/updated' module Contrast module Agent module Assess # Properties associated with a tracked String. If String is monkey # patched this object is lazily generated on affected Strings. # # This class acts as a holder for the Assess information we need in order # to properly convey the events that lead up to the state of the tracked # user input. class Properties include Contrast::Agent::Assess::Property::Evented include Contrast::Agent::Assess::Property::Tagged include Contrast::Agent::Assess::Property::Updated attr_accessor :dupped_from # CONTRAST-36937 # Creating these on Properties is expensive. We want to delay this for # as long as possible. def properties @_properties ||= {} end def add_properties hash return unless hash properties.merge!(hash) end def add_property name, value return unless name && value properties[name] = value end def dup ret = super ret.dupped_from = __id__ ret end end end end end
Version data entries
18 entries across 18 versions & 1 rubygems