Sha256: 5e9b3aaf3b8fb6ac8aed5d28850a6de1f0af7151aae5e121f3401829a126b1bf
Contents?: true
Size: 1.47 KB
Versions: 24
Compression:
Stored size: 1.47 KB
Contents
# Copyright (c) 2022 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
24 entries across 24 versions & 1 rubygems