Class: Mutant::Matcher::Method::Instance Private

Inherits:
Mutant::Matcher::Method show all
Defined in:
lib/mutant/matcher/method/instance.rb

Overview

This class is part of a private API. You should avoid using this class if possible, as it may be removed or be changed in the future.

Matcher for instance methods

Defined Under Namespace

Classes: Evaluator

Constant Summary

Constants inherited from Mutant::Matcher::Method

BLACKLIST, CLOSURE_WARNING_FORMAT, SOURCE_LOCATION_WARNING_FORMAT

Class Method Summary collapse

Methods inherited from Mutant::Matcher::Method

#call

Methods inherited from Mutant::Matcher

#call

Class Method Details

.new(scope, target_method) ⇒ Matcher::Method::Instance

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.

Dispatching builder, detects memoizable case



13
14
15
16
17
18
19
20
21
22
23
# File 'lib/mutant/matcher/method/instance.rb', line 13

def self.new(scope, target_method)
  name = target_method.name
  evaluator =
    if scope.include?(Memoizable) && scope.memoized?(name)
      Evaluator::Memoized
    else
      Evaluator
    end

  super(scope, target_method, evaluator)
end