Class: Contrast::Agent::Deadzone::Policy::DeadzoneNode

Inherits:
Patching::Policy::PolicyNode show all
Defined in:
lib/contrast/agent/deadzone/policy/deadzone_node.rb

Overview

This class functions to translate our policy.json into an actionable Ruby object, allowing for dynamic patching over hardcoded patching, specifically for those methods in which other Contrast operations should not apply.

Constant Summary

Constants inherited from Patching::Policy::PolicyNode

Patching::Policy::PolicyNode::JSON_CLASS_NAME, Patching::Policy::PolicyNode::JSON_INSTANCE_METHOD, Patching::Policy::PolicyNode::JSON_METHOD_NAME, Patching::Policy::PolicyNode::JSON_METHOD_SCOPE, Patching::Policy::PolicyNode::JSON_METHOD_VISIBILITY, Patching::Policy::PolicyNode::JSON_PROPERTIES

Instance Attribute Summary

Attributes inherited from Patching::Policy::PolicyNode

#class_name, #instance_method, #method_name, #method_visibility, #properties

Instance Method Summary collapse

Methods inherited from Patching::Policy::PolicyNode

#id, #initialize, #instance_method?, #validate

Methods included from Components::Scope::InstanceMethods

#contrast_enter_method_scopes!, #contrast_exit_method_scopes!, #with_app_scope, #with_contrast_scope, #with_deserialization_scope, #with_split_scope

Constructor Details

This class inherits a constructor from Contrast::Agent::Patching::Policy::PolicyNode

Instance Method Details

#featureObject



18
19
20
# File 'lib/contrast/agent/deadzone/policy/deadzone_node.rb', line 18

def feature
  'Deadzone'
end

#method_scopeObject

Deadzone means place the code inside of the contrast scope so that none of our code executes. As such, all DeadZone nodes have that as their method scope.



24
25
26
# File 'lib/contrast/agent/deadzone/policy/deadzone_node.rb', line 24

def method_scope
  :contrast
end

#node_classObject



14
15
16
# File 'lib/contrast/agent/deadzone/policy/deadzone_node.rb', line 14

def node_class
  'Deadzone'
end