Bye Bye Moore

PoCソルジャーな零細事業主が作業メモを残すブログ

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

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