Sha256: 3b9d19f079150f202ab645c51c44c94d7189f0946cb9c638ff58872972699365

Contents?: true

Size: 457 Bytes

Versions: 13

Compression:

Stored size: 457 Bytes

Contents

# frozen_string_literal: true

module Leftovers
  module MatcherBuilders
    module And
      def self.build(matchers)
        matchers = matchers.compact
        case matchers.length
        # :nocov:
        when 0 then nil
        # :nocov:
        when 1 then matchers.first
        when 2 then ::Leftovers::Matchers::And.new(matchers.first, matchers[1])
        else ::Leftovers::Matchers::All.new(matchers.dup)
        end
      end
    end
  end
end

Version data entries

13 entries across 13 versions & 1 rubygems

Version Path
leftovers-0.8.0 lib/leftovers/matcher_builders/and.rb
leftovers-0.7.0 lib/leftovers/matcher_builders/and.rb
leftovers-0.6.0 lib/leftovers/matcher_builders/and.rb
leftovers-0.5.5 lib/leftovers/matcher_builders/and.rb
leftovers-0.5.4 lib/leftovers/matcher_builders/and.rb
leftovers-0.5.3 lib/leftovers/matcher_builders/and.rb
leftovers-0.5.2 lib/leftovers/matcher_builders/and.rb
leftovers-0.5.1 lib/leftovers/matcher_builders/and.rb
leftovers-0.5.0 lib/leftovers/matcher_builders/and.rb
leftovers-0.4.3 lib/leftovers/matcher_builders/and.rb
leftovers-0.4.2 lib/leftovers/matcher_builders/and.rb
leftovers-0.4.1 lib/leftovers/matcher_builders/and.rb
leftovers-0.4.0 lib/leftovers/matcher_builders/and.rb