module Bashly::ValidationHelpers

def assert_uniq(key, value, array_keys)

def assert_uniq(key, value, array_keys)
  return unless value
  array_keys = [array_keys] unless array_keys.is_a? Array
  list = []
  array_keys.each do |array_key|
    list += value.filter_map { |c| c[array_key] }.flatten
  end
  nonuniqs = list.nonuniq
  assert nonuniqs.empty?, "#{key} contains non-unique elements (#{nonuniqs.join ', '}) in #{array_keys.join ' or '}"
end