module Vorpal::AggregateUtils

@private

Public Instance Methods

group_by_type(roots, configs) click to toggle source
# File lib/vorpal/aggregate_utils.rb, line 8
def group_by_type(roots, configs)
  traversal = AggregateTraversal.new(configs)

  all = roots.flat_map do |root|
    owned_object_visitor = OwnedObjectVisitor.new
    traversal.accept(root, owned_object_visitor)
    owned_object_visitor.owned_objects
  end

  all.group_by { |obj| configs.config_for(obj.class) }
end