class Toys::FlagGroup::ExactlyOne
A FlagGroup
in which exactly one flag must be set
Public Instance Methods
validation_errors(seen)
click to toggle source
@private
# File lib/toys/flag_group.rb, line 210 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