Sha256: 2d9603b7fc4ad77512d455fadda33df3df1ae269c8a96837a6b6bb23b2abd7b2

Contents?: true

Size: 338 Bytes

Versions: 1

Compression:

Stored size: 338 Bytes

Contents

# frozen_string_literal: true

require 'set'
require 'forwardable'

Array.class_eval do
  # Replace my_array.map(&:method1).map(&:method2) with my_array.pipe(:method1, :method2)
  # @return [Array]
  def pipe(*fns)
    map { |a| fns.reduce(a, &:send) }
  end
end

Set.class_eval do
  extend Forwardable

  def_delegators :to_a, :pipe
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
pipe_extension-1.0.1.pre.rc.1 lib/pipe_extension.rb