class Optimist::Constraint

Abstract class for a constraint. Do not use by itself.

Public Class Methods

new(syms) click to toggle source
# File lib/optimist.rb, line 42
def initialize(syms)
  @idents = syms
end

Public Instance Methods

validate(given_args:, specs:) click to toggle source
# File lib/optimist.rb, line 45
def validate(given_args:, specs:)
  overlap = @idents & given_args.keys
  if error_condition(overlap.size)
    longargs = @idents.map { |sym| "--#{specs[sym].long.long}" }
    raise CommandlineError, error_message(longargs)
  end
end