instance method
assert_valid_keys
Ruby on Rails 4.0.13
Since v3.0.20Signature
assert_valid_keys(*valid_keys)
Validate all keys in a hash match *valid_keys, raising ArgumentError on a mismatch. Note that keys are NOT treated indifferently, meaning if you use strings for keys but assert symbols as keys, this will fail.
{ name: 'Rob', years: '28' }.assert_valid_keys(:name, :age) # => raises "ArgumentError: Unknown key: years"
{ name: 'Rob', age: '28' }.assert_valid_keys('name', 'age') # => raises "ArgumentError: Unknown key: name"
{ name: 'Rob', age: '28' }.assert_valid_keys(:name, :age) # => passes, raises nothing
Parameters
-
valid_keysrest
Source
# File activesupport/lib/active_support/core_ext/hash/keys.rb, line 67
def assert_valid_keys(*valid_keys)
valid_keys.flatten!
each_key do |k|
raise ArgumentError.new("Unknown key: #{k}") unless valid_keys.include?(k)
end
end
Defined in activesupport/lib/active_support/core_ext/hash/keys.rb line 67
· View on GitHub
· Improve this page
· Find usages on GitHub
Defined in Hash