Class: Mutant::Subject::Method::Instance::Memoized
- Inherits:
-
Mutant::Subject::Method::Instance
- Object
- Mutant::Subject
- Mutant::Subject::Method
- Mutant::Subject::Method::Instance
- Mutant::Subject::Method::Instance::Memoized
- Includes:
- NodeHelpers
- Defined in:
- lib/mutant/subject/method/instance.rb
Overview
Mutator for memoized instance methods
Constant Summary
Constants included from NodeHelpers
NodeHelpers::INFINITY, NodeHelpers::NAN, NodeHelpers::NEGATIVE_INFINITY, NodeHelpers::NEW_OBJECT, NodeHelpers::N_EMPTY, NodeHelpers::N_FALSE, NodeHelpers::N_NIL, NodeHelpers::N_TRUE, NodeHelpers::RAISE
Constants inherited from Mutant::Subject::Method::Instance
Instance Method Summary collapse
-
#prepare ⇒ self
private
Prepare subject for mutation insertion.
-
#source ⇒ String
private
Return source.
Methods included from NodeHelpers
Methods inherited from Mutant::Subject::Method::Instance
Methods inherited from Mutant::Subject::Method
#match_expression, #name, #public?
Methods inherited from Mutant::Subject
#identification, #match_expression, #match_prefixes, #mutations, #original_root, #root, #source_line, #source_path
Instance Method Details
#prepare ⇒ self
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
Prepare subject for mutation insertion
69 70 71 72 73 |
# File 'lib/mutant/subject/method/instance.rb', line 69 def prepare scope.send(:memoized_methods).instance_variable_get(:@memory).delete(name) scope.send(:undef_method, name) self end |
#source ⇒ String
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
Return source
58 59 60 |
# File 'lib/mutant/subject/method/instance.rb', line 58 def source Unparser.unparse(memoizer_node(node)) end |