Method: Balanced::Utils#assert_required_keys

Defined in:
lib/balanced/utils.rb

#assert_required_keys(hash, params) ⇒ Object

pablomanrubia.com/2011/03/extending-ruby-to-validate-required-keys-in-a-hash-table/ def assert_required_keys(hash, params)

params[:required] ||= []
params[:optional] ||= []
assert_valid_keys(hash, params[:required] + params[:optional])
pending_keys = params[:required] - hash.keys
raise(ArgumentError, "Required key(s) not present: #{pending_keys.join(', ')}") unless pending_keys.empty?

end

Raises:

  • (ArgumentError)


101
102
103
104
105
# File 'lib/balanced/utils.rb', line 101

def assert_required_keys(hash, params)
  params[:required] ||= []
  pending_keys = params[:required] - hash.keys
  raise(ArgumentError, "Required key(s) not present: #{pending_keys.join(', ')}") unless pending_keys.empty?
end