Bye Bye Moore

猫マンション建築の野望を胸に零細事業主として資本主義の荒波に漕ぎ出したアラサー男の技術メモ

assert_valid_keysでhashが正常なものか確認する

assert_valid_keysはactive_support3.0以降に搭載されている
hashの確認機能です。

  def to_sentence(options = {})
    options.assert_valid_keys(:words_connector, :two_words_connector, :last_word_connector, :locale)
...
  end

てな感じで、オプションとして渡されたhashの確認に使います。

具体的な挙動はコチラ

 {hoge: 1}.assert_valid_keys(:hoge, :piyo)
#=> {:hoge=>1}

{hoge: 1, piyo: 2}.assert_valid_keys(:hoge, :piyo)
#=> {:hoge=>1, :piyo=>2}

不正なkeyがあると、

{hoge: 1, piyo: 2}.assert_valid_keys(:hoge)
#2>ArgumentError: Unknown key: :piyo. Valid keys are: :hoge

のようにエラーを吐いてくるスグレモノです