module Ariadne::Yard::DocsHelper

def one_of(enumerable, lower: false, sort: false)

def one_of(enumerable, lower: false, sort: false)
  # Sort the array if requested
  if sort && !enumerable.nil?
    enumerable = enumerable.sort do |a, b|
      a.instance_of?(b.class) ? a <=> b : a.class.to_s <=> b.class.to_s
    end
  end
  values =
    case enumerable
    when Hash
      enumerable.map do |key, value|
        "#{pretty_value(key)} (#{pretty_value(value)})"
      end
    else
      enumerable.map do |key|
        pretty_value(key)
      end
    end
  prefix = "One of"
  prefix = prefix.downcase if lower
  "#{prefix} #{values.to_sentence(two_words_connector: " or ", last_word_connector: ", or ")}."
end