Class: Mutant::Matcher::Methods

Inherits:
Mutant::Matcher show all
Includes:
AbstractType
Defined in:
lib/mutant/matcher/methods.rb

Overview

Abstract base class for matcher that returns method subjects from scope

Direct Known Subclasses

Instance, Singleton

Defined Under Namespace

Classes: Instance, Singleton

Instance Method Summary collapse

Methods inherited from Mutant::Matcher

build, each, #identification

Instance Method Details

#each(&block) ⇒ self, Enumerator<Subject>

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.

Enumerate subjects

Returns:

  • (self)

    if block given

  • (Enumerator<Subject>)

    otherwise



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

def each(&block)
  return to_enum unless block_given?

  methods.each do |method|
    emit_matches(method, &block)
  end

  self
end

#matcherClass:Matcher::Method

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 method matcher class

Returns:

  • (Class:Matcher::Method)


35
36
37
# File 'lib/mutant/matcher/methods.rb', line 35

def matcher
  self.class::MATCHER
end

#methodsEnumerable<Method, UnboundMethod>

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 methods

Returns:

  • (Enumerable<Method, UnboundMethod>)


45
46
47
48
49
50
# File 'lib/mutant/matcher/methods.rb', line 45

def methods
  candidate_names.each_with_object([]) do |name, methods|
    method = access(name)
    methods << method if method.owner == candidate_scope
  end
end