houdini/lib/required_keys.rb

15 lines
452 B
Ruby
Raw Normal View History

# frozen_string_literal: true
2020-06-12 20:03:43 +00:00
# License: AGPL-3.0-or-later WITH WTO-AP-3.0-or-later
# Full license explanation at https://github.com/houdiniproject/houdini/blob/master/LICENSE
# 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