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
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 |