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
で区別して判定されるので注意。