Sha256: 0ccca782cf13b94f7cb9e851977cc2b74bd98d6beef2b7043ae6935e363f0a34

Contents?: true

Size: 409 Bytes

Versions: 4

Compression:

Stored size: 409 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

4 entries across 4 versions & 1 rubygems

Version Path
facets-1.3.0 lib/facets/core/enumerable/accumulate.rb
facets-1.3.1 lib/facets/core/enumerable/accumulate.rb
facets-1.3.2 lib/facets/core/enumerable/accumulate.rb
facets-1.3.3 lib/facets/core/enumerable/accumulate.rb