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, from_config, ignore_subject?

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

:reek:ManualDispatch

Parameters:

  • scope (Class, Module)
  • method (UnboundMethod)

Returns:



17
18
19
20
21
22
23
24
25
26
27
# File 'lib/mutant/matcher/method/instance.rb', line 17

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

  super(scope, target_method, evaluator)
end