2019-07-30 21:29:24 +00:00
|
|
|
# frozen_string_literal: true
|
|
|
|
|
2018-03-25 16:15:39 +00:00
|
|
|
# License: AGPL-3.0-or-later WITH Web-Template-Output-Additional-Permission-3.0-or-later
|
2018-03-25 17:30:42 +00:00
|
|
|
|
|
|
|
# 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)
|
2019-07-30 21:29:24 +00:00
|
|
|
missing = keys.select { |k| hash[k].nil? }
|
|
|
|
raise ArgumentError, "Missing keys: #{missing}" if missing.any?
|
2018-03-25 17:30:42 +00:00
|
|
|
end
|
|
|
|
end
|