2013-02-06 22:55:21 +0900
ActiveSupportのassert_valid_keysでHashのキーをチェックする。
ActiveSupportで提供されているHash#assert_valid_keysを使うと、メソッドの引数として渡されたHashに必要なキーが含まれているかどうかを容易にチェックできる。
{ :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
上の例のように、selfとなるHashにassert_valid_keysの引数で指定されたキーが含まれていない場合にArgumentErrorが発生します。キーはSymbolとStringで区別して判定されるので注意。