Sha256: b0d0204c38f5337207726779790ebde3f80ad414d94de3026476fe971abe9847

Contents?: true

Size: 804 Bytes

Versions: 29

Compression:

Stored size: 804 Bytes

Contents

# encoding: UTF-8
#
# Copyright (c) 2010-2015 GoodData Corporation. All rights reserved.
# This source code is licensed under the BSD-style license found in the
# LICENSE file in the root directory of this source tree.

module Enumerable
  def mapcat(initial = [], &block)
    reduce(initial) do |a, e|
      block.call(e).each do |x|
        a << x
      end
      a
    end
  end

  def pmapcat(initial = [], &block)
    intermediate = pmap(&block)
    intermediate.reduce(initial) do |a, e|
      e.each do |x|
        a << x
      end
      a
    end
  end

  def pselect(&block)
    intermediate = pmap(&block)
    zip(intermediate).select { |x| x[1] }.map(&:first)
  end

  def rjust(n, x)
    Array.new([0, n - length].max, x) + self
  end

  def ljust(n, x)
    dup.fill(x, length...n)
  end
end

Version data entries

29 entries across 29 versions & 2 rubygems

Version Path
gooddata-0.6.30 lib/gooddata/extensions/enumerable.rb
gooddata-0.6.29 lib/gooddata/extensions/enumerable.rb
gooddata-0.6.28 lib/gooddata/extensions/enumerable.rb
gooddata-0.6.27 lib/gooddata/extensions/enumerable.rb
gooddata-0.6.26 lib/gooddata/extensions/enumerable.rb
gooddata-0.6.25 lib/gooddata/extensions/enumerable.rb
gooddata-0.6.24 lib/gooddata/extensions/enumerable.rb
gooddata-0.6.23 lib/gooddata/extensions/enumerable.rb
gooddata-0.6.22 lib/gooddata/extensions/enumerable.rb