class Egis::CartesianProductGenerator

@!visibility private

Public Instance Methods

cartesian_product(values_by_key) click to toggle source
# File lib/egis/cartesian_product_generator.rb, line 6
def cartesian_product(values_by_key)
  keys = values_by_key.keys
  values = values_by_key.values

  head, *tail = values

  return keys.zip(head) unless tail

  head.product(*tail).map { |vals| keys.zip(vals) }
end