HashWithIndifferentAccessを使ってみる

HashWithIndifferentAccessとは?

HashWithIndifferentAccessを使うことで、シンボルでも文字列でもハッシュにアクセス可能となる。

hoge = ActiveSupport::HashWithIndifferentAccess.new(hoge: 'ほげ')

# シンボル
hoge[:hoge]
=> "ほげ"

# 文字列
hoge['hoge']
=> "ほげ"


hoge = {hoge: "ほげ"}.with_indifferent_access

# シンボル
hoge[:hoge]
=> "ほげ"

# 文字列
hoge['hoge']
=> "ほげ"