Sha256: 00e7f47ecbc0e3d2b51581607dcda6db5b5891a38c43c1034294d91fc5837352

Contents?: true

Size: 526 Bytes

Versions: 20

Compression:

Stored size: 526 Bytes

Contents

# encoding: utf-8

module Mutant
  class Matcher
    # Matcher filter
    class Filter < self
      include Concord.new(:matcher, :predicate)

      # Enumerate matches
      #
      # @return [self]
      #   if block given
      #
      # @return [Enumerator<Subject>]
      #   otherwise
      #
      # @api private
      #
      def each(&block)
        return to_enum unless block_given?
        matcher.select(&predicate.method(:call)).each(&block)
        self
      end

    end # Filter
  end # Matcher
end # Mutant

Version data entries

20 entries across 20 versions & 1 rubygems

Version Path
mutant-0.5.19 lib/mutant/matcher/filter.rb
mutant-0.5.18 lib/mutant/matcher/filter.rb
mutant-0.5.17 lib/mutant/matcher/filter.rb
mutant-0.5.16 lib/mutant/matcher/filter.rb
mutant-0.5.15 lib/mutant/matcher/filter.rb
mutant-0.5.14 lib/mutant/matcher/filter.rb
mutant-0.5.13 lib/mutant/matcher/filter.rb
mutant-0.5.12 lib/mutant/matcher/filter.rb
mutant-0.5.11 lib/mutant/matcher/filter.rb
mutant-0.5.10 lib/mutant/matcher/filter.rb
mutant-0.5.9 lib/mutant/matcher/filter.rb
mutant-0.5.8 lib/mutant/matcher/filter.rb
mutant-0.5.7 lib/mutant/matcher/filter.rb
mutant-0.5.6 lib/mutant/matcher/filter.rb
mutant-0.5.5 lib/mutant/matcher/filter.rb
mutant-0.5.4 lib/mutant/matcher/filter.rb
mutant-0.5.3 lib/mutant/matcher/filter.rb
mutant-0.5.2 lib/mutant/matcher/filter.rb
mutant-0.5.1 lib/mutant/matcher/filter.rb
mutant-0.5.0 lib/mutant/matcher/filter.rb