Class: Contrast::Agent::Assess::Policy::Propagator::Custom
- Defined in:
- lib/contrast/agent/assess/policy/propagator/custom.rb
Overview
Propagation that results in some complex or specific translation of tags from the source to the target. Each node with the CUSTOM action knows the class and method it should call to preform this action.
Class Method Summary collapse
Class Method Details
.propagate(propagation_node, preshift, ret, block) ⇒ Object
17 18 19 20 21 22 23 24 25 26 27 28 29 |
# File 'lib/contrast/agent/assess/policy/propagator/custom.rb', line 17 def propagate propagation_node, preshift, ret, block clazz = propagation_node.patch_class method = propagation_node.patch_method # We cannot flip the String to a Module at patcher creation time - # the Module may not exist yet. Instead, we have to defer until the # first time the patcher is used. if clazz.is_a?(String) clazz = Object.cs__const_get(clazz) propagation_node.patch_class = clazz end clazz.send(method, propagation_node, preshift, ret, block) end |