# frozen_string_literal: true # License: AGPL-3.0-or-later WITH Web-Template-Output-Additional-Permission-3.0-or-later # Given a hash and an array of keys # Raise an argument error if any keys are missing from the hash class RequiredKeys def initialize(hash, keys) missing = keys.select { |k| hash[k].nil? } raise ArgumentError, "Missing keys: #{missing}" if missing.any? end end