Class: Mutant::Matcher::Chain

Inherits:
Mutant::Matcher show all
Defined in:
lib/mutant/matcher/chain.rb

Overview

A chain of matchers

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from Mutant::Matcher

#identification

Class Method Details

.build(matchers) ⇒ Matcher

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.

Build matcher chain

Parameters:

Returns:



35
36
37
38
39
40
41
# File 'lib/mutant/matcher/chain.rb', line 35

def self.build(matchers)
  if matchers.length.equal?(1)
    return matchers.first
  end

  new(matchers)
end

Instance Method Details

#each(&block) ⇒ Enumerator<Subject] if no block given, 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.

Enumerate subjects

Returns:

  • (Enumerator<Subject] if no block given)

    Enumerator<Subject] if no block given

  • (self)

    otherwise



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

def each(&block)
  return to_enum unless block_given?

  matchers.each do |matcher|
    matcher.each(&block)
  end

  self
end