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