Sha256: 29c8dad7d189d952bb64b8fc1c4de8f5a61d01e2e90cb4dcde9ee730b0ba529e

Contents?: true

Size: 405 Bytes

Versions: 12

Compression:

Stored size: 405 Bytes

Contents

#--
# * George Moschovitis <gm@navel.gr>
#++

require 'facets/more/functor'

module Enumerable

  # Project has_many Group
  # Group has_many User
  # projects.groups.accumulate.users
  #--
  # gmosx: any idea for a better name?
  #++

  def accumulate
    Functor.new do |op, *args|
      self.inject([]) { |a, x| a << x.send(op, *args) }.flatten
    end  
  end
  #alias_method :acc, :accumulate

end


Version data entries

12 entries across 12 versions & 1 rubygems

Version Path
facets-1.4.0 lib/facets/core/enumerable/accumulate.rb
facets-1.4.1 lib/facets/core/enumerable/accumulate.rb
facets-1.4.2 lib/facets/core/enumerable/accumulate.rb
facets-1.4.3 lib/facets/core/enumerable/accumulate.rb
facets-1.4.4 lib/facets/core/enumerable/accumulate.rb
facets-1.4.5 lib/facets/core/enumerable/accumulate.rb
facets-1.7.0 lib/facets/core/enumerable/accumulate.rb
facets-1.7.30 lib/facets/core/enumerable/accumulate.rb
facets-1.7.38 lib/facets/core/enumerable/accumulate.rb
facets-1.7.46 lib/facets/core/enumerable/accumulate.rb
facets-1.8.0 lib/facets/core/enumerable/accumulate.rb
facets-1.8.8 lib/facets/core/enumerable/accumulate.rb