Sha256: a59592f9bfed5ee90ba18d10f5b0548b2c4d565a80df346d94b20a39a9c91b95

Contents?: true

Size: 354 Bytes

Versions: 9

Compression:

Stored size: 354 Bytes

Contents

# frozen_string_literal: true

module Refinements
  module Shared
    # Provides functionality for knowing whether an enumerable has many elements or not.
    module Many
      def many?
        return size > 1 unless block_given?

        total = reduce(0) { |count, item| yield(item) ? count + 1 : count }
        total > 1
      end
    end
  end
end

Version data entries

9 entries across 9 versions & 1 rubygems

Version Path
refinements-13.1.0 lib/refinements/shared/many.rb
refinements-13.0.1 lib/refinements/shared/many.rb
refinements-13.0.0 lib/refinements/shared/many.rb
refinements-12.11.0 lib/refinements/shared/many.rb
refinements-12.10.0 lib/refinements/shared/many.rb
refinements-12.9.0 lib/refinements/shared/many.rb
refinements-12.8.0 lib/refinements/shared/many.rb
refinements-12.7.1 lib/refinements/shared/many.rb
refinements-12.7.0 lib/refinements/shared/many.rb