Sha256: d07eb6437b0d6a4028387d06cbcf125f372630ecccfac3844ed1d845655e307f

Contents?: true

Size: 338 Bytes

Versions: 23

Compression:

Stored size: 338 Bytes

Contents

# frozen_string_literal: true

require 'forwardable'
require 'set'

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

23 entries across 23 versions & 2 rubygems

Version Path
ruby-rails-extensions-2.1.2 lib/ruby-rails-extensions/extensions/pipe.rb
ruby-rails-extensions-2.1.2.pre.pre.pre.1 lib/ruby-rails-extensions/extensions/pipe.rb
ruby-rails-extensions-2.1.1 lib/ruby-rails-extensions/extensions/pipe.rb
ruby-rails-extensions-2.1.0 lib/ruby-rails-extensions/extensions/pipe.rb
ruby-rails-extensions-2.1.0.pre.rc.14 lib/ruby-rails-extensions/extensions/pipe.rb
ruby-rails-extensions-2.1.0.pre.rc.13 lib/ruby-rails-extensions/extensions/pipe.rb
ruby-rails-extensions-2.1.0.pre.rc.12 lib/ruby-rails-extensions/extensions/pipe.rb
ruby-rails-extensions-2.1.0.pre.rc.11 lib/ruby-rails-extensions/extensions/pipe.rb
ruby-rails-extensions-2.1.0.pre.rc.10 lib/ruby-rails-extensions/extensions/pipe.rb
ruby-rails-extensions-2.1.0.pre.rc.9 lib/ruby-rails-extensions/extensions/pipe.rb
ruby-rails-extensions-2.1.0.pre.rc.8 lib/ruby-rails-extensions/extensions/pipe.rb
ruby-rails-extensions-2.1.0.pre.rc.7 lib/ruby-rails-extensions/extensions/pipe.rb
ruby-rails-extensions-2.1.0.pre.rc.6 lib/ruby-rails-extensions/extensions/pipe.rb
ruby-rails-extensions-2.1.0.pre.rc.5 lib/ruby-rails-extensions/extensions/pipe.rb
ruby-rails-extensions-2.1.0.pre.rc.4 lib/ruby-rails-extensions/extensions/pipe.rb
ruby-rails-extensions-2.1.0.pre.rc.3 lib/ruby-rails-extensions/extensions/pipe.rb
ruby-rails-extensions-2.1.0.pre.rc.2 lib/ruby-rails-extensions/extensions/pipe.rb
ruby-rails-extensions-2.1.0.pre.rc.1 lib/ruby-rails-extensions/extensions/pipe.rb
ruby-rails-extensions-2.0.1 lib/ruby-rails-extensions/extensions/pipe.rb
ruby-rails-extensions-2.0.1.pre.rc.1 lib/ruby-rails-extensions/extensions/pipe.rb