class Toys::FlagGroup::ExactlyOne
A FlagGroup in which exactly one flag must be set
#
def validation_errors(seen)
def validation_errors(seen) seen_names = [] flags.each do |flag| seen_names << flag.display_name if seen.include?(flag.key) end if seen_names.size > 1 str = "Exactly one flag out of group #{summary} is required, but #{seen_names.size}" \ " were provided: #{seen_names.inspect}." [ArgParser::FlagGroupConstraintError.new(str)] elsif seen_names.empty? str = "Exactly one flag out of group #{summary} is required, but none were provided." [ArgParser::FlagGroupConstraintError.new(str)] else [] end end