lib/contrast/agent/assess/policy/propagator/select.rb in contrast-agent-3.14.0 vs lib/contrast/agent/assess/policy/propagator/select.rb in contrast-agent-3.15.0
- old
+ new
@@ -12,35 +12,43 @@
# in a 'get it work' state. hopefully, we'll be in
# a 'get it right' state soon.
class Select
class << self
def select_tagger patcher, preshift, ret, _block
+ properties = Contrast::Agent::Assess::Tracker.properties(ret)
+ return unless properties
+
source = preshift.object
args = preshift.args
# 'gotcha'
# Additionally, an empty string is returned when the starting index for
# a character range is at the end of the string. Let's just skip that
# and only track a string that has length
- return unless source.cs__tracked? && ret && !ret.empty?
+ unless ret &&
+ !ret.empty? &&
+ Contrast::Agent::Assess::Tracker.tracked?(source)
+ return
+ end
- source.cs__properties.events.each do |event|
- ret.cs__properties.events << event
+ source_properties = Contrast::Agent::Assess::Tracker.properties(source)
+ source_properties.events.each do |event|
+ properties.events << event
end
- ret.cs__properties.build_event(
+ properties.build_event(
patcher,
ret,
source,
ret,
args)
range = determine_select_range(source, args)
return unless range
- tags = source.cs__properties.tags_at_range(range)
- ret.cs__properties.clear_tags
+ tags = source_properties.tags_at_range(range)
+ properties.clear_tags
tags.each_pair do |key, value|
- ret.cs__properties.set_tags(key, value)
+ properties.set_tags(key, value)
end
ret
end
private