module Twitter::Utils

Public Instance Methods

flat_pmap(enumerable, &block) click to toggle source

Returns a new array with the concatenated results of running block once for every element in enumerable. If no block is given, an enumerator is returned instead.

@param enumerable [Enumerable] @return [Array, Enumerator]

# File lib/twitter/utils.rb, line 10
def flat_pmap(enumerable, &block)
  return to_enum(:flat_pmap, enumerable) unless block_given?

  pmap(enumerable, &block).flatten(1)
end
pmap(enumerable) { |object| ... } click to toggle source

Returns a new array with the results of running block once for every element in enumerable. If no block is given, an enumerator is returned instead.

@param enumerable [Enumerable] @return [Array, Enumerator]

# File lib/twitter/utils.rb, line 21
def pmap(enumerable)
  return to_enum(:pmap, enumerable) unless block_given?

  if enumerable.count == 1
    enumerable.collect { |object| yield(object) }
  else
    enumerable.collect { |object| Thread.new { yield(object) } }.collect(&:value)
  end
end